ПредишенСледващото

Генериране на ключове и управление - важна част от криптографската процес. Използването на симетрични алгоритми изискват създаването на ключ и инициализация вектор (IV), който трябва да се пази в тайна от всички лица, които не са допустими за разшифроването на данните. За да използвате Асиметричните алгоритми изискват създаването на публични и частни ключове. Публичният ключ може да се дава на никого, докато частният ключ е известен само на лицето, което трябва да разшифровате данни, шифровани с публичния ключ. Разделът описва как да създадете и управлявате ключовете в случай на двете симетрични и асиметрични криптиращи алгоритми.

симетрични класове криптиране, предоставени от в .NET Framework, за криптиране и декриптиране на данни изискват нов ключ и вектор инициализация (IV). Когато създадете с помощта на конструктора по подразбиране на нов екземпляр на един от управляваните класове симетрично криптиране, автоматично създава нов ключ и инициализация вектор. Всяко лице, на което искате да разрешите за дешифриране на данните трябва да има същия ключ и инициализация вектор, както и да използва същия алгоритъм за криптиране. Обикновено трябва да се създаде нов ключ и инициализация вектор наново за всяка редовна сесия и не трябва да се съхранява за използване в следващата сесия.

За да бъдат предавани на симетричен ключ и инициализация вектор отдалечената страна по принцип те се шифрова с асиметрично криптиране. Трансфер ключ и инициализация вектор през незащитена мрежа, без да ги криптирате не е безопасно, защото всеки човек, за да им пресече пътя, ще бъде в състояние да дешифрирате. За повече информация за криптиране и предаване на ключа и инициализация вектор см. При създаването на криптографска схема.

Следващият пример показва как да се създаде нова инстанция на TripleDESCryptoServiceProvider клас. изпълнява алгоритъм тройно.

В процеса на този код ключ и инициализация вектор създава, когато създавате нова инстанция TripleDESCryptoServiceProvider. Друг ключов и инициализация вектор създаден от методи повикване GenerateKey и GenerateIV.

За изпълнение на асиметрично криптиране в рамката за .NET осигурява RSACryptoServiceProvider и DSACryptoServiceProvider класове. Тези класове предоставят набор от публичния и частния ключ с помощта на конструктора по подразбиране, за да се създаде нова инстанция на класа. Асиметричните ключове или могат да се съхраняват за използване в няколко сесии или създадени отделно за всяка сесия. Докато публичния ключ може да бъде направена публично достояние, частния ключ трябва да е здраво защитени.

Генериране на комплект, състоящ се от публичен и частен ключ, се извършва чрез създаване на нов екземпляр на асиметричен алгоритъм клас. След създаването на нова инстанция на класа, в който може да извлече ключова информация по един от двата начина.

метод ToXMLString връща ключовата информация във формат XML.

метод ExportParameters. който връща структура RSAParameters. съдържащ ключовата информация.

И двата метода вземат като параметър на булева стойност, която показва дали да се покаже информация за него само публичния ключ или и на откритите и закритите върху клавишите. Клас RSACryptoServiceProvider може да бъде инициализиран стойност RSAParameters структура чрез метод ImportParameters.

Асиметричните частни ключове никога не трябва да се съхраняват в печатна форма или под формата на обикновен текст на вашия компютър. Ако искате да съхранявате частния ключ да се използва за тази ключова контейнер. За повече информация за съхраняване на частния ключ в ключ контейнер см. В Как. Съхранение на асиметрични ключове в ключовете на контейнера.

Следващият пример създава нова инстанция на RSACryptoServiceProvider клас. създаване на публични и частни ключове, както и информация за публичния ключ се съхранява в RSAParameters конструкцията.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!