-
X-Received: by 2002:ac8:6a09:: with SMTP id t9mr6366545qtr.7.1590613426076; Wed, 27
May 2020 14:03:46 -0700 (PDT)
X-Received: by 2002:ac8:6a09:: with SMTP id t9mr6366545qtr.7.1590613426076; Wed, 27
May 2020 14:03:46 -0700 (PDT)
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!3.eu.feeder.erj
e.net!2.eu.feeder.erje.net!feeder.erje.net!news.uzoreto.com!tr3.eu1.usenetexpre
ss.com!feeder.usenetexpress.com!tr3.iad1.usenetexpress.com!border1.nntp.dca1.gi
ganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.googl
e.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Wed, 27 May 2020 14:03:45 -0700 (PDT)
In-Reply-To: <e...@g...com>
Complaints-To: g...@g...com
Injection-Info: google-groups.googlegroups.com; posting-host=5.172.255.10;
posting-account=Sb6m8goAAABbWsBL7gouk3bfLsuxwMgN
NNTP-Posting-Host: 5.172.255.10
References: <b...@g...com>
<9...@g...com>
<b...@g...com>
<0...@g...com>
<e...@g...com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <a...@g...com>
Subject: Re: Ile zajmie komputerowi mnożenie liczb rzędu 2^128
From: fir <p...@g...com>
Injection-Date: Wed, 27 May 2020 21:03:46 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 131
Xref: news-archive.icm.edu.pl pl.comp.programming:214940
[ ukryj nagłówki ]W dniu środa, 27 maja 2020 22:58:49 UTC+2 użytkownik fir napisał:
> W dniu środa, 27 maja 2020 21:12:02 UTC+2 użytkownik osobliwy nick napisał:
> > 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.
>
> NIE WIEM ILE CI TO ZAJMIE ALE CO TY JESTES ZA DZIWAKIEM BY SNUC TAKIE ROZWAZANIA
ile badz ci nie zajmie jak napiszesz dobrze )prawdopodobnie po kilku latach uczenia
sie programowania) to zajmie ci tyle co innnym a jak napiszesz zle to zajmie ci duzo
wiecej - ot i cala tajemnica
oczywiscie pewnie mozna wymyslec cos jako tako oryginalnego wtym temacie ale najpierw
raczej trzeba go opanowac co niestety moze zajac (wliczajc nauke kodowania) pare lat
co do instalacji pythona to rozpakowujesz go
do jakiegoc folderu typu c:\PYTHON35 i juz
pozniej piszesz kod w pliku costam.py
a ja odpalam to batem o takieh tresci
set PATH=c:\Python34;c:\Python34\Lib;C:\Python34\DLLs;
python.exe costam.py
takie ustawianie sciezki w baie dziala w obrebie bata ale tow ystarczy i nie robui
syfu w sciezkach (nie jestem pewien czy wszystkie te 3 sciezki sa nawet potrzebne)
Najnowsze wątki z tej grupy
- 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
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
- Press Release - AEiC 2023, Ada-Europe Reliable Softw. Technol.
- Ada-Europe - AEiC 2023 early registration deadline approaching
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2023
- Ile cykli zajmuje mnożenie liczb 64-bitowych?
Najnowsze wątki
- 2024-05-18 Warszawa => Software .Net Developer <=
- 2024-05-18 Warszawa => Mid/Senior QA Engineer <=
- 2024-05-18 Ulm => Solution Architect (sichere Kommunikation und IoT-Loesungen <=
- 2024-05-18 Katowice => Head of Virtualization Platform Management and Operating S
- 2024-05-18 Warszawa => SAP WM Consultant / Execution <=
- 2024-05-18 Wrocław => Consultant/Implementer Comarch ERP XL <=
- 2024-05-18 Gdańsk => Head of International Freight Forwarding Department <=
- 2024-05-18 Warszawa => Account Manager (Recruitment Services) <=
- 2024-05-18 Łódź => Salesperson - CRM Systems <=
- 2024-05-18 Łódź => Handlowiec - Systemy CRM <=
- 2024-05-17 ZŁOMNIK o pracy w TVN TURBO, nowych przepisach i współczesnej motoryzacji. Turbo Taryfa!
- 2024-05-17 Białystok => DevOps Engineer Conexa First (Contractor) <=
- 2024-05-17 Warszawa => Starszy inżynier oprogramowania (Rust) <=
- 2024-05-17 Zabrze => Junior HelpDesk <=
- 2024-05-17 Bieruń => Administrator i wdrożeniowiec Lotus Notes/Domino <=