Crypto vraagjes

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • Sandor_Clegane
  • Registratie: Januari 2012
  • Niet online

Sandor_Clegane

Fancy plans and pants to match

Topicstarter
Mijn vraag
Ik ben wat aan het klooien met symmetrisch en asymmetrische crypto en kom op het volgende:
Alice heeft de public key van Bob en vice versa. Hoe ze aan de keys komen is niet relevant.

Als Bob nu een bestand versleutelt met AES en encrypt de AES key met de publieke sleutel van Alice en verstuurt dit bestand naar Alice waarvoor heb ik dan nog een SHA of een HMAC van het bestand nodig?

Ik snap dat dit voor de integriteit van een bericht in transit is, maar als ik AES CBC gebruik dan zijn alle opeenvolgende "blokken" het resultaat van de voorgaande blokken. Als ik deze dus door mijn cryptolibrary haal zal dit niet meer kloppen ofwel als ermee geknoeid is, aangezien de volgordelijkheid van de blocks niet meer klopt ofwel?

Het is niet dat ik geen HMAC wil maken ofzo, ik ben gewoon even benieuwd naar de werking met bovenstaande oplossing. Ik vind het prima als er met het bericht geklooid is en de cryptobibliotheek het gewoon niet kan decrypten, is net zo duidelijk als een HMAC in principe dan, aangezien dit normaal niet mag gebeuren.

Relevante software en hardware die ik gebruik
Voor symmetrische encryptie en het maken van keys gebruik ik BouncyCastle en voor AES de interne crypto bibliotheken van .Net.

Het bericht is in deze gewoon een bytestream van een webserver.

Edit: blijkt dat CBC wat simpeler in elkaar steekt dan ik in mijn naïviteit dacht. :) Topic mag in principe gesloten worden, kan ik hem zelf verwijderen? Of als iemand nog een lumineuze bijdrage heeft: graag.

[ Voor 7% gewijzigd door Sandor_Clegane op 04-08-2018 20:53 ]

Less alienation, more cooperation.

Beste antwoord (via Sandor_Clegane op 04-08-2018 21:09)


  • EddoH
  • Registratie: Maart 2009
  • Niet online

EddoH

Backpfeifengesicht

Met CBC zorg je niet inherent voor message integrity nee, een MAC blijft nodig. Met AES GCM zou je wel deze integrity kunnen bewerkstelligen als dat je doel is.

[ Voor 9% gewijzigd door EddoH op 04-08-2018 21:02 ]

Alle reacties


Acties:
  • +1 Henk 'm!

  • EddoH
  • Registratie: Maart 2009
  • Niet online

EddoH

Backpfeifengesicht

Met een HMAC verifiëer je, zoals je ook al aangeeft, de integriteit van het verstuurde bericht. Dit heeft niets te maken met het wel of niet kunnen decrypten van het bericht, dit zal namelijk altijd wel goed gaan.

Het punt is dat je een geëncrypt bericht kunt aanpassen, hetgeen betekent dat het gedecrypte resultaat anders is dan origineel bedoeld.

Een veelgebruikt voorbeeld is bijvoorbeeld: stel dat je een bericht verstuurd waarin staat 'maak 100 euro naar mij over'. Iemand kan het geëncrypt bericht aanpassen waardoor er na het decrypten ineen staat: 'maak 692 euro naar mij over'. De MAC zorgt er voor dat je deze wijziging kunt detecteren. Een aanvaller zal namelijk nooit zowel het bericht als de MAC zo kunnen aanpassen dat beide weer met elkaar kloppen.

Acties:
  • 0 Henk 'm!

  • Sandor_Clegane
  • Registratie: Januari 2012
  • Niet online

Sandor_Clegane

Fancy plans and pants to match

Topicstarter
Ik was in de veronderstelling dat CBC dat juist tegen zou gaan, na wat meer gelezen te hebben blijkt dat dus een stuk minder robuust te zijn dan ik dacht ( je kan wel padding errors krijgen e.d. maar niet altijd ).

Thanks. Eens kijken hoe we dat gaan doen.

Less alienation, more cooperation.


Acties:
  • Beste antwoord
  • +1 Henk 'm!

  • EddoH
  • Registratie: Maart 2009
  • Niet online

EddoH

Backpfeifengesicht

Met CBC zorg je niet inherent voor message integrity nee, een MAC blijft nodig. Met AES GCM zou je wel deze integrity kunnen bewerkstelligen als dat je doel is.

[ Voor 9% gewijzigd door EddoH op 04-08-2018 21:02 ]


Acties:
  • 0 Henk 'm!

  • Sandor_Clegane
  • Registratie: Januari 2012
  • Niet online

Sandor_Clegane

Fancy plans and pants to match

Topicstarter
Thanks, GCM blijkt dus te doen wat ik veronderstelde dat CBC zou doen. Assumptions..... :)

Less alienation, more cooperation.