eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programming › Ile zajmie komputerowi mnożenie liczb rzędu 2^128
Ilość wypowiedzi w tym wątku: 32

  • 31. Data: 2020-05-27 22:58:48
    Temat: Re: Ile zajmie komputerowi mnożenie liczb rzędu 2^128
    Od: fir <p...@g...com>

    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


  • 32. Data: 2020-05-27 23:03:45
    Temat: Re: Ile zajmie komputerowi mnożenie liczb rzędu 2^128
    Od: fir <p...@g...com>

    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)

strony : 1 ... 3 . [ 4 ]


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: