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í
×
    dnes 04:44 | Nová verze

    Po více než dvou letech od vydání předchozí verze 2.12 byla vydána nová stabilní verze 2.14 systémového zavaděče GNU GRUB (GRand Unified Bootloader, Wikipedie). Přehled novinek v souboru NEWS a v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 0
    dnes 02:22 | Nová verze

    Google Chrome 144 byl prohlášen za stabilní. Nejnovější stabilní verze 144.0.7559.59 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 10 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře (YouTube).

    Ladislav Hagara | Komentářů: 1
    dnes 01:55 | Humor

    Microsoft zveřejnil zdrojový kód XAML Studia a uvolnil ho pod MIT licencí. XAML Studio je nástroj ze světa Windows, určený pro tvorbu uživatelského rozhraní aplikací pomocí XAML (Extensible Application Markup Language). Stalo se tak zhruba po osmi letech od prvního prohlášení Microsoftu, že se tento kód chystá zveřejnit.

    NUKE GAZA! 🎆 | Komentářů: 0
    dnes 01:44 | Zajímavý projekt

    TimeCapsule, 'časová kapsle', je jazykový model trénovaný výhradně na datech z určitých míst a časových období, aby se tak napodobila autentická slovní zásoba, způsob vyjadřování a názory dané doby. Na Hugging face jsou k dispozici modely natrénované na historických textech dostupných v oblasti Londýna mezi lety 1800 až 1875.

    NUKE GAZA! 🎆 | Komentářů: 0
    včera 17:55 | Nová verze

    Radicle byl vydán ve verzi 1.6.0 s kódovým jménem Amaryllis. Jedná se o distribuovanou alternativu k softwarům pro spolupráci jako např. GitLab.

    Ladislav Hagara | Komentářů: 0
    včera 13:22 | Upozornění

    Zemřel Scott Adams, tvůrce komiksových stripů Dilbert parodujících pracovní prostředí velké firmy.

    Ladislav Hagara | Komentářů: 3
    včera 13:00 | Nová verze

    Sdružení CZ.NIC vydalo novou verzi Knot Resolveru (6.1.0). Jedná se o první vydanou stabilní verzi 6, která je nyní oficiálně preferovanou a doporučovanou verzí, namísto předešlé verze 5. Více o Knot Resolveru 6 je možné se dočíst přímo v dokumentaci.

    VSladek | Komentářů: 1
    včera 01:22 | Nová verze

    Byl vydán Linux Mint 22.3 s kódovým jménem Zena. Podrobnosti v přehledu novinek a poznámkách k vydání. Vypíchnout lze, že nástroj Systémová hlášení (System Reports) získal mnoho nových funkcí a byl přejmenován na Informace o systému (System Information). Linux Mint 22.3 bude podporován do roku 2029.

    Ladislav Hagara | Komentářů: 1
    13.1. 21:33 | Nová verze

    Wine bylo po roce vývoje od vydání verze 10.0 vydáno v nové stabilní verzi 11.0. Přehled novinek na GitLabu. Vypíchnuta je podpora NTSYNC a dokončení architektury WoW64.

    Ladislav Hagara | Komentářů: 5
    13.1. 16:11 | Nová verze

    Byl vydán Mozilla Firefox 147.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Firefox nově podporuje Freedesktop.org XDG Base Directory Specification. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 147 bude brzy k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (14%)
     (5%)
     (0%)
     (8%)
     (19%)
     (3%)
     (6%)
     (3%)
     (11%)
     (45%)
    Celkem 436 hlasů
     Komentářů: 12, poslední včera 21:12
    Rozcestník

    Dotaz: Python RSA PyCrypto -> PyCryptodome

    27.5.2022 17:28 srbt | skóre: 6
    Python RSA PyCrypto -> PyCryptodome
    Přečteno: 591×
    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áknoNahoru

    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.