-
X-Received: by 2002:ac8:44da:: with SMTP id b26mr5987727qto.232.1590606721483; Wed,
27 May 2020 12:12:01 -0700 (PDT)
X-Received: by 2002:ac8:44da:: with SMTP id b26mr5987727qto.232.1590606721483; Wed,
27 May 2020 12:12:01 -0700 (PDT)
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!goblin2!goblin3
!goblin.stu.neva.ru!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews
.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.goog
legroups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Wed, 27 May 2020 12:12:01 -0700 (PDT)
In-Reply-To: <b...@g...com>
Complaints-To: g...@g...com
Injection-Info: google-groups.googlegroups.com; posting-host=185.186.156.102;
posting-account=5sNFBgoAAAAxlae8lv99mPyGsDs6ynwB
NNTP-Posting-Host: 185.186.156.102
References: <b...@g...com>
<9...@g...com>
<b...@g...com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <0...@g...com>
Subject: Re: Ile zajmie komputerowi mnożenie liczb rzędu 2^128
From: osobliwy nick <o...@g...com>
Injection-Date: Wed, 27 May 2020 19:12:01 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 100
Xref: news-archive.icm.edu.pl pl.comp.programming:214938
[ ukryj nagłówki ]W dniu wtorek, 26 maja 2020 10:35:38 UTC+2 użytkownik fir napisał:
> W dniu poniedziałek, 25 maja 2020 21:55:24 UTC+2 użytkownik osobliwy nick napisał:
> > Jeśli kogoś to interesuje, to oto jak szybki jest AES:
> >
> > https://crypto.stackexchange.com/questions/44927/how
-long-does-a-good-aes-encryption-take
> >
> > W 6 sekund szyfruje 1 GB! A poniżej użytkownik pisze, że można zejść nawet do 1
GB w 0,6 sekund.
>
> przy sprzetowej akceleracji...
Aha, tego nie wziąłem pod uwagę. Dotarłem do kodu AESa w Pythonie 3. Jeśli się nie
mylę, to jest przykładowa implementacja tego szyfru:
https://github.com/boppreh/aes/blob/master/aes.py
Nie potrafię tego uruchomić. A chcę to porównać z moim kodem, który także mam w
Pythonie 2. Przykładowy zestaw kluczy:
#!/usr/bin/python
from sys import argv
keys=eval(argv[1]) # list of function selectors aka the key
v=eval(argv[2]) # endianness vector
r=len(keys) # nmbr rounds implied by keys
bo=int(argv[3]) # nmbr of bits out
pt=int(argv[4]) # the plaintext
parms=[-7,-5,-3,3,5,7]
rf=[(parms[i/6],parms[i%6],2) for i in
range(36)]+[(parms[i/6],parms[i%6],-2) for i in range(36)]
def swapendian(x, nmbrbits):
s=0
for i in range(nmbrbits):
s+=2**(nmbrbits-i-1)*((x>>i)%2)
return s
def genf(a,b,c):
def f(x):
if x % 2 == 1:
return ((x * a + b)/2,1)
return (x/c,0)
return f
def round(s,a,b,c,n):
f=genf(a,b,c)
o=0
for i in range(0,n):
(s,ct)=f(s)
o+=ct*2**i
return swapendian(o,n)
def encrypt(pt,r,keys,v):
ct = pt
for i in range(r):
if v[i] == 1:
ct=swapendian(ct,bo)
(a,b,c)=rf[keys[i]]
ct=round(ct,a,b,c,bo)
return ct
print encrypt(pt,r,keys,v)
Uruchamiamy to komendą:
python main.py '[67,65,64,63,67,68,67,65,70,68,71,64,69,71,70,65,68
,66,67,70]' '[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]' 128 123
Przy czym "123", to szyfrowana liczba, możemy podać dowolną liczbę 128-bitową.
Pytanie, czy mój kod będzie szybszy niż AES. BTW - kod nie jest mojego autorstwa,
koledzy z innego forum mi pomogli. Na oko wygląda, że tak. Nie jestem pewien też, czy
dobry kod AESa znalazłem i czy to jest cały AES, czy coś tam poupraszczali. Ktoś umie
uruchomić tego AESa?
> problem z userami takimi jak ty jest takiz e probujesz oswiecac grupe nie znajac
sie na tym o czym mowisz co skutecznie czesto (w przypadku tego typu podejscia)
prowoduje sianie ciemnoty... (ja sam osobiscie maga nie cierpie takich ludzi bo grupa
jest od siania wlasnie wiedzy a nie degenerowania jej i siania ciemnoty)
Nigdzie nie napisali o akceleracji sprzętowej, nie miałem pojęcia jakie to może mieć
znaczenie. W tej chwili mam kod, jak widać powyżej, który uruchamiam w:
https://repl.it/languages/python
Bo jeszcze nie nauczyłem się nawet instalować Pythona u siebie na kompie (a nie wiem
co za procesor obsługuje ten intepreter). I muszę dojść do tego ile szyfrowanie
zajmie AESowi, a ile mojemu algorytmowi.
Następne wpisy z tego wątku
Najnowsze wątki z tej grupy
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
Najnowsze wątki
- 2024-12-23 Riga => Specjalista ds. public relations <=
- 2024-12-23 Łódź => Specjalista ds. Sprzedaży <=
- 2024-12-23 Kraków => International Freight Forwarder <=
- 2024-12-23 Co nalezy do Cinkciarza, a co do Conotoxia ?
- 2024-12-23 Poznań => Key Account Manager <=
- 2024-12-23 Warszawa => Presales / Inżynier Wsparcia Technicznego IT <=
- 2024-12-23 Rzeszów => Spedytor Międzynarodowy <=
- 2024-12-23 Warszawa => Infrastructure Automation Engineer <=
- 2024-12-23 Białystok => Analityk w dziale Trade Development (doświadczenie z Po
- 2024-12-23 Warszawa => Site Reliability Engineer (SRE) <=
- 2024-12-23 Warszawa => DevOps Engineer <=
- 2024-12-23 Warszawa => Senior Account Manager <=
- 2024-12-23 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2024-12-23 Katowice => Administrator IT - Wirtualizacja i Konteneryzacja <=
- 2024-12-23 Mińsk Mazowiecki => Spedytor Międzynarodowy <=