Citat:
Ursprungligen postat av
Bleppe_Bf
Till skillnad från AES så är det inte någon iterativ funktion som bygger upp RSA/DSA.
Alltså AES 256 måste hashas om 256 ggr. Du kan ju testa att jämföra med någonting som är AES-krypterat.
RSA-4096 hashas en gång vid kryptering, salt + publik nyckel, och en gång till vid avkryptering, privat nyckel + salt, men den slutgiltiga nyckeln är skitlång. Säkerheten på PGP i dagsläget är dock omstridd.
https://www.zdnet.com/article/pgp-se...kness-exposed/
https://secushare.org/PGP
https://www.schneier.com/blog/archiv..._up_on_pg.html
Det som folk i huvudsak riktat kritik mot är att man förlitar sig på för korta
fingerprints av de publika nycklarna, precis som din första länk antyder. Det
är enkelt att hitta kollisioner i en sökrymd av storlek 2^32 -- faktum är att
det går att göra på relativt svag hårdvara. Men det har inte så mycket med PGP
att göra, utan snarare hur man hanterar nycklar. Det rimliga vore att
publicera en icke-trunkerad SHA-256-digest.
Det största problemet med PGP idag är att det inte har stöd för forward
secrecy, men det är en inneboende problematik hos all form av e-post-liknande
kommunikation eftersom det är opraktiskt att implementera tillfälliga
sessionsnycklar (det går att realisera men då har man ett chatprotokoll och då
kan man lika gärna använda double ratchet eller OTR).
Såsom många olika källor också påpekat skalar RSA inte jättebra. För en rimlig
säkerhet bör man ha en nyckelstorlek på minst 4096 bitar (beroende på hur man
beräknar faktoriseringskomplexiteten, eftersom resultaten är asymptotiska, och
vilken algoritm som avses: ECM [1], GNFS [2], etc.), vilket är väldigt stort i
jämförelse med t ex Ed25519 eller andra elliptiska-kurv-konstruktioner och kan
därför te sig opraktiskt i många fall. Dessa publika EC-nycklar har en längd
som är i paritet med digesten av SHA-256, vilket då skulle eliminera motiven
att använda fingerprints överhuvudtaget.
Angående hash så används det inte i det symmetriska kryptot. En kryptografisk
hash används för att skapa ett fingerprint av innehållet. För att försäkra att
hashen inte bara räknas om med modifierat innehåll säkerställs dess integritet
med en digital signatur.
AES-256 hashas inte 256 gånger. AES-256 använder en nyckel bestående av 256
bitar. Såsom nämnts tidigare så kan detta accelereras avsevärt om hårdvaran
används på rätt sätt, dvs. om AES-NI-instruktionen i processorn (som är AES
realiserad i kisel) används. AES-GCM är dessutom trivialt parallelliserbar och
går att beräknas obereoende på flera kärnor eller på en GPU (givetvis har man
som mottagare inte friheten att välja block-chaining-mode godtyckligt).
[1]
https://en.wikipedia.org/wiki/Lenstr..._factorization
[2]
https://en.wikipedia.org/wiki/Genera...er_field_sieve