Asymmetriska nycklar
asymmetriska nycklar, även kallade offentliga/privata nyckelpar, används för asymmetrisk kryptering. Asymmetrisk kryptering används främst för att kryptera och dekryptera sessionsnycklar och digitala signaturer. Asymmetrisk kryptering använder kryptering av offentliga nycklar algoritmer.
Offentliga nyckelalgoritmer använder två olika nycklar: en offentlig nyckel och en privat nyckel. Den privata nyckelmedlemmen i paret måste hållas privat och säker. Den offentliga nyckeln kan dock distribueras till alla som begär den. Den offentliga nyckeln för ett nyckelpar distribueras ofta med hjälp av ett digitalt certifikat. När en nyckel i ett nyckelpar används för att kryptera ett meddelande krävs den andra nyckeln från det paret för att dekryptera meddelandet. Om användaren A:s offentliga nyckel används för att kryptera data kan endast användare A (eller någon som har åtkomst till användaren A:s privata nyckel) dekryptera data. Om användaren A:s privata nyckel används för att kryptera en del data dekrypterar endast användaren A:s offentliga nyckel data, vilket indikerar att användaren A (eller någon med åtkomst till användaren A:s privata nyckel) gjorde krypteringen.
Om den privata nyckeln används för att signera ett meddelande måste den offentliga nyckeln från det paret användas för att verifiera signaturen. Om Alice till exempel vill skicka ett digitalt signerat meddelande till någon, signerar hon meddelandet med sin privata nyckel och den andra personen kan verifiera hennes signatur med hjälp av hennes offentliga nyckel. Eftersom alice förmodligen bara har åtkomst till sin privata nyckel betyder det faktum att signaturen kan verifieras med Alice offentliga nyckel att Alice skapade signaturen.
Tyvärr är offentliga nyckelalgoritmer mycket långsamma, ungefär 1 000 gånger långsammare än symmetriska algoritmer. Det är opraktiskt att använda dem för att kryptera stora mängder data. I praktiken används offentliga nyckelalgoritmer för att kryptera sessionsnycklar. symmetriska algoritmer används för kryptering/dekryptering av de flesta data.
På samma sätt, eftersom signering av ett meddelande i själva verket krypterar meddelandet, är det inte praktiskt att använda signaturalgoritmer för offentliga nycklar för att signera stora meddelanden. I stället skapas en hash- av meddelandet och hash-värdet signeras. Mer information finns i hashar och digitala signaturer.
Varje användare har vanligtvis två offentliga/privata nyckelpar. Ett nyckelpar används för att kryptera sessionsnycklar och det andra för att skapa digitala signaturer. Dessa kallas nyckelbytesnyckelpar respektive signaturnyckelpar.
Observera att även om nyckelcontainrar som skapats av de flesta kryptografiska tjänstleverantörer (CSP: er) innehåller två nyckelpar, krävs detta inte. Vissa CSP:er lagrar inte några nyckelpar medan andra CSP:er lagrar fler än två par.
Alla nycklar i CryptoAPI lagras i CSP:er. CSP:er ansvarar också för att skapa nycklarna, förstöra dem och använda dem för att utföra en mängd olika kryptografiska åtgärder. Exportera nycklar från CSP:en så att de kan skickas till andra användare beskrivs i Kryptografisk nyckellagring och Exchange.