abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 23:22 | Zajímavý software

    Na Slovensku vznikla úplne nová rally hra, ktorá je zadarmo a funguje vo Windowse, Linuxe či na Macu. Greenie Rally má viac ako 50 tratí a vozidiel, šampionáty či turnaje. Má retro feeling a imituje automobilové hry z prelomu tisícročí. Vyskúšate prejsť všetky mapy na Škode 130RS?

    Stanislav Hoferek | Komentářů: 0
    včera 14:33 | Komunita

    Do základního systému NetBSD -current byl přidán nový editor atto jako alternativa k editorům vi a xedit.

    Ladislav Hagara | Komentářů: 1
    včera 14:11 | IT novinky

    Společnost System76 představila kompaktní 11litrový Thelio Prime Desktop. S procesorem AMD Ryzen 9000. S Pop!_OS 24.04 LTS s desktopovým prostředím COSMIC nebo Ubuntu 24.04 LTS.

    Ladislav Hagara | Komentářů: 0
    včera 13:44 | Humor

    Čínská státní televize pozastavila vysílání španělské La Ligy a čínské internetové platformy omezily obsah s Kylianem Mbappém poté, co slavný fotbalista ve francouzském pořadu The Bridge mluvil o svém oblíbeném memu, v němž je jeho tvář vložena do portrétu zobrazujícího diktátora Mao Ce-tunga. 'Můj oblíbený mem je ten, na kterém dali můj obličej na čínského diktátora. To mě opravdu rozesmívá. S přáteli ho používám pořád' řekl,

    … více »
    Pendrekama do nich❗ | Komentářů: 4
    včera 13:22 | IT novinky

    Při příležitosti oslav Dne vzniku samostatného československého státu (28. října) byly uděleny medaile Za zásluhy tvůrci aplikace Záchranka Filipu Maleňákovi, vědci v oblasti umělé inteligence Tomáši Mikolovovi a Olze Štěpánkové, vědkyni zabývající se kybernetikou, robotikou a strojovým učením, průkopnici v oblastech výuky a využití umělé inteligence v medicínském inženýrství.

    Pendrekama do nich❗ | Komentářů: 2
    včera 01:33 | IT novinky

    Apple představil nový iPad mini, iMac s čipem M6, 14palcový MacBook Pro s čipem M6 a MacBook Pro s PROLED XDR displejem – první Mac s dotykovým ovládáním.

    Ladislav Hagara | Komentářů: 4
    28.10. 23:22 | Zajímavý projekt

    Nedávno představený projekt mapSTL.com řeší budoucnost. 𝕏: "Netušil jsem, kolik patentů na generování map existuje. Existují patenty na generování fantasy map 🫣. Cokoliv je na 3D tiskárnu a tvoří to produkt, bude to mít patenty. Tak bacha na to!" … více »

    Ladislav Hagara | Komentářů: 3
    28.10. 18:55 | Nová verze

    Multiplatformní emulátor terminálu Ghostty byl vydán ve verzi 1.4 (𝕏). Přehled novinek a vylepšení v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    28.10. 18:22 | Bezpečnostní upozornění

    Byla objevena zranitelnost Tailworm v Tailscale a Headscale umožňující lokální eskalaci práv přihlášeného uživatele. Následně byla v Tailscale v opravené verzi 1.104.4+ změněna architektura aplikace. Viz příspěvek na blogu Tailscale.

    vencour | Komentářů: 0
    27.10. 18:11 | Nová verze

    Byl vydán Mozilla Firefox 159.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 159 bude brzy k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 1
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (20%)
     (30%)
     (9%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2940 hlasů
     Komentářů: 34, poslední 26.10. 08:24
    Rozcestník

    Dotaz: Python RSA PyCrypto -> PyCryptodome

    27.5.2022 17:28 srbt | skóre: 6
    Python RSA PyCrypto -> PyCryptodome
    Přečteno: 685×
    Rád bych přešel od neudržované knihovny PyCrypto k novější PyCryptodome. Potíž je v tom, že mi PyCryptodome nerozšifruje co PyCrypto zašifrovalo.

    Původní kód vypadal zhruba takhle:
    from Crypto.PublicKey import RSA
    
    decoded = base64.standard_b64decode(crypted_message)
    return RSA.importKey(rsa_decryption_key).decrypt(decoded)
    
    Tenhle kód teď vypíše NotImplementedError: Use module Crypto.Cipher.PKCS1_OAEP instead. Našel jsem tedy návod a změnil kód na:
    from Crypto.PublicKey import RSA
    from Crypto.Cipher import PKCS1_OAEP
    
    decoded = base64.standard_b64decode(crypted_message)
    key = RSA.importKey(rsa_decryption_key)
    decryptor = PKCS1_OAEP.new(key)
    return decryptor.decrypt(decoded)
    
    Pokud použiju PyCryptodome pro encrypt i decrypt, funguje to hezky, ale pokud zkusím nový decrypt na starý encrypt, vyhodí to ValueError: Incorrect decryption..

    Pokud by někdo náhodou tušil, kde dělám chybu, nebo věděl že to prostě nemá řešení, budu moc rád, když se o tu informaci podělí. Děkuji.
    Pro experimentátory přikládám zašifrovanou zprávu "aha":
    qSuzVLpUOH5aXN71tZbh70AXycRKbDVKAVb33f7y7WEMFzJ+80dh+YXBdNBeYzVQ0K9j7hE8qz59JbZ0F4AWYr51L6SIv40d7VUDrzQd0umtRb4ZVrpnl4mG5ta8n+7MD6R59v3SOt5UZH9oM3w225P5gYHtykbUeOo1LggqR8rPU0PriOzCozuAHakCPQxHDlDLh63IJHU3WrNGSq5yRQiq+FvdnUDlOdczgmiT6eGZnoys5p/+NrOdH6XC+pczkMS6NKj+Z23PqPBIkGy+2vVy1EOF86n+8VvL1Ew0Y86Ts/X16nutit1rdPobFQf93KNU6JucPaTYN3Mr/st+zg==
    
    a privátní klíč
    -----BEGIN RSA PRIVATE KEY-----
    MIIEogIBAAKCAQEAyfBPdPSZQiLHdUAWke3s50PuQNhMVyTUjA5pL4ilikTsSkXi
    wpqDuj6qbX8aOeLqaUNH9KnVRTAaxtM+iH2k5nl+ZK1RIknyyDyMQi7jLfFN8fts
    raFH8HxFNh2DyQ8JpusXwhH8FocuNgpHpQmQMV5KWGv5NtVE1pY7zRW7lf65zJ1j
    b6yCsBQxAwu3bJ18Jc5stQq5v+GSUn9mwpHqbbjX2YmgCSRei2Hm3VrTC9CTYSNm
    8fWfBBw5sejInlLjDNK/FJ5lTYz4XY63wbN6yBQdUBypo+iAxAinrkz8Pgklriom
    1nw5G1YkUEtLQvS98DT8d9/dJBnETCr4hVUgLwIDAQABAoIBAFhMK3IIQbsZWf16
    uGO2lQ/KNDNGYJr6D7Xt1zBhn4CGAou3Yx+UUGTvYbXfDaih/71nHd9tI0PNdOfb
    Fky4I5JjLVD4N7G2g+HqF6oYtl0wVdSpCywgiUQuElVHMoiHesDxqsHA+2keUqZu
    eEVBmTr876UaES5YsnDh3+QczJkYsVi32p6SvnW3wpX6JxE2nfHyw2V9glmtwlSF
    6s81fpUXH7g2BXNy7QXmOj2IPnll6wj8iF2L7zzyKmUG8hLpWR73RfTCXf3Q3Spb
    QtH6ZYXXTMbpHEmJlZMXTGqDcfFvg/OhliVUpB4HG9YWipU7yhClZuxFNMtlNmvL
    2PU6qAECgYEA3LegaD9bldgaRzAm+ea8glHezauf/nxVMwOZV8zef0HjXjspkdX1
    GVh7z50lGdQytTyTT662KnS3y/5kyEDZNMRZjICTv/qHXhsEKEDqn6zI2YDhq15a
    iuDpBbfS40dfuJ+83GCzDUguCOwVe0cb0b4BXsuh2A7Q6QTQinCBM0ECgYEA6jg2
    IEt/Z/rMGXEnYBVofNMSczlvhXSTIECsmpA2gvJ3F/+p+YhM2qHJ7lZXxzXcuGrR
    +QNRELX5BG93N3NitBG5nj7G3n9XsXVZ/LtFSXOoSx2B3IPSlAFPqfN5/Hm40Ke/
    rZi1gSJi6KyD2Zkp+WDNxvd2Lz6BA7iJ/EtBJ28CgYAX8ti11wIR/TPEu6XPAck8
    frOlL1UZ4NXBxkcyLqmJt1V7WQIGr+d7S42Llmp7Jfomjh8Ry0w6yRVUThMTY23t
    +swYoa7masGbZWULFRggIThd2U0jMgazAPpnw21fedQaDUMJynhDHazZDPy7tph/
    JpWxenjiH6FtVzdlfhWWwQKBgEJjTHQ68hH29IMBn7eMWeGHsmMWlJWvRUSPEF1/
    IvRa5YbX4MXp7F7MHQCBWMAOdFGRdZKvbfremYa4UYJWIlQH8iT4hkXqsmCKcsdA
    DZOURM+FvZlThAyPkpUJfjoiBlCeO6Zo8ol3xbFNtNGoqE0XMzyCR+18OfVkCTiJ
    3B3hAoGABdu7ojnq3CBTJEk/Qw/AIkeo0auzsgJIBX0DRZ+Y4U3JdH88B2QYARV4
    RMwOCnKBUtfO2V92XGGk6gnnJWcrbVDOXUdWhRZWWeGkvRX57VDx3dRc9nEw1whx
    AFh2PFzyxPOqhEdj8tvpE9pXxK8NuJueZVWW9oc6cMWpeb+vk9U=
    -----END RSA PRIVATE KEY-----
    

    Řešení dotazu:


    Odpovědi

    27.5.2022 18:36 X
    Rozbalit Rozbalit vše Re: Python RSA PyCrypto -> PyCryptodome
    Nemas OAEP padding.
    openssl base64 -d -in message.base64 -out message
    
    rsautl -decrypt -oaep -inkey key.pem -in message -out message.out
    
    140636538956544:error:040A1079:rsa routines:RSA_padding_check_PKCS1_OAEP_mgf1:oaep decoding error:rsa_oaep.c:234:
    140636538956544:error:04065072:rsa routines:RSA_EAY_PRIVATE_DECRYPT:padding check failed:rsa_eay.c:602:
    
    openssl rsautl -decrypt -raw -inkey key.pem -in message -out message.out
    cat message.out 
    aha
    
    Řešení 1× (srbt (tazatel))
    27.5.2022 21:12 X
    Rozbalit Rozbalit vše Re: Python RSA PyCrypto -> PyCryptodome
    28.5.2022 11:02 srbt | skóre: 6
    Rozbalit Rozbalit vše Re: Python RSA PyCrypto -> PyCryptodome
    Díky moc, pomohlo to. V pythonu2, ve kterém se žel ještě musím pohybovat, to vychází takhle:
    def bytes_to_int(bytes):
        result = 0
        for b in bytes:
            result = result * 256 + ord(b)
        return result
    
    def int_to_bytes(value, length):
        result = []
        for i in range(0, length):
            result.append(chr(value >> (i * 8) & 0xff))
        result.reverse()
        return b''.join(result)
    
    def decrypt_rsa(crypted_message, rsa_decryption_key):
      decoded = base64.standard_b64decode(crypted_message)
      key = RSA.importKey(rsa_decryption_key)
      ct_int = bytes_to_int(decoded)
      pt_int = pow(ct_int, key.d, key.n)
      return int_to_bytes(pt_int, key.size_in_bytes()).lstrip(b'\x00')
    

    Založit nové vlákno • Nahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.