eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingIle zajmie komputerowi mnożenie liczb rzędu 2^128Re: Ile zajmie komputerowi mnożenie liczb rzędu 2^128
  • 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.

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

  • 27.05.20 22:58 fir
  • 27.05.20 23:03 fir

Najnowsze wątki z tej grupy


Najnowsze wątki

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: