Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

AES enkripcija i dekripcija

[es] :: .NET :: AES enkripcija i dekripcija

[ Pregleda: 3131 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

program3r
Ivan Ivić
student

Član broj: 164258
Poruke: 18
*.adsl.net.t-com.hr.



Profil

icon AES enkripcija i dekripcija25.12.2008. u 16:57 - pre 186 meseci
Pozdrav svima nadam se da ce se nac netko tko ce mi znat rec u cemu grjesin
Radim program za digitalni pecat i koristim se asimetricnim algoritmom rsa i asimetricnim aes i imam problem kod ovog drugog

Evo izvorni kod
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Security.Cryptography;

namespace Digitalni_potpis
{
class AES
{
public byte[] encryptStringToBytes_AES(string plainText, byte[] Key, byte[] IV)
{



RijndaelManaged Cipher = new RijndaelManaged();

ICryptoTransform Encryptor = Cipher.CreateEncryptor(Key, IV);
MemoryStream mStream = new MemoryStream();
CryptoStream cStream = new CryptoStream(mStream, Encryptor, CryptoStreamMode.Write);




byte[] plainBytes = UnicodeEncoding.Unicode.GetBytes(plainText);

cStream.Write(plainBytes, 0, plainBytes.Length-1);
cStream.FlushFinalBlock();

return mStream.ToArray();

}

public string decryptStringFromBytes_AES(byte[] cipherText, byte[] Key, byte[] IV)
{
byte[] cipherBytes = cipherText;


RijndaelManaged Cipher = new RijndaelManaged();

ICryptoTransform Decryptor = Cipher.CreateDecryptor(Key, IV);
MemoryStream ms = new MemoryStream(cipherText);
CryptoStream cs = new CryptoStream(ms, Decryptor, CryptoStreamMode.Read);


byte[] plainBytes = new byte[cipherText.Length];

cs.Read(plainBytes, 0, cipherText.Length-1);



return UnicodeEncoding.Unicode.GetString(plainBytes);



}

}
}
Prilikom debagiranja javi mi gresku da je padding invalid stavljao sam PaddingMode.PKCS7 i jos neke ponudene al ne ide
Ako netko zna u cemu je rijec bio bih mu zahvalan

Pozdrav



 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6042



+4631 Profil

icon Re: AES enkripcija i dekripcija25.12.2008. u 23:20 - pre 186 meseci
Ako pod digitalni pecat mislis digitalni potpis onda ti je greska u startu to sto koristis simetricni AES koji ti za potpis uopste ne treba. Za potpis ti treba hash (npr SHA-1 ili SHA-2) i privatni kljuc asimetricnog algoritma (npr rsa), za verifikaciju potpisa ti treba originalni dokument, digitalni potpis i javni kljuc.

Prebacicu ovu temu u .NET posto je ipak implementacija u pitanju.
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić
 
Odgovor na temu

program3r
Ivan Ivić
student

Član broj: 164258
Poruke: 18
*.adsl.net.t-com.hr.



Profil

icon Re: AES enkripcija i dekripcija26.12.2008. u 08:28 - pre 186 meseci
Ne radi se o digitalnom potpisu nego o pecatu(Digitalni pečat osigurava sva četiri sigurnosna zahtijeva: tajnost, autentičnost, integritet i neporecivost.) koristim puno toga sql server bazu koja glumi PKI , rsa za komunikaciju javnim i privatnim kljucevima, od simetricnih koristim aes, 3des i des, i takoder imam hasheve sha-1 i md5... Izrada pecata mi ide bez problema al verifikacija me malo zafrkava tj. imam navedeni problem
Program se radi u edukativne svrhe
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6042



+4631 Profil

icon Re: AES enkripcija i dekripcija26.12.2008. u 13:23 - pre 186 meseci
Znaci to je neki sign & encrypt zajedno? Od koga potice ta definicija, digitalni pecat, prvi put cujem za to (da zanemarimo one pecate sto ljudi stavljaju na SSL sajtove :), sto je smejurija).

U svakom slucaju ne treba ti nista vise od onoga sto propisuje CMS (RFC 3852) ako bas hoces standardizovan mehanizam, a ako samo hoces da ucis dosta ti je i osnovni PKCS#7 standard, evo ti linkovi:

http://tools.ietf.org/html/rfc3852
http://tools.ietf.org/html/rfc2315

za sam bug u kodu cu ti pogledati sutra, ovako mi je sumnjivo baratanje kljucem i saltom za AES. Mislim da bez obzira na to sto prosledjujes Key i IV u CreteEncryptor/Decryptor moras i da ih postavis u samom Cipher-u.



Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić
 
Odgovor na temu

program3r
Ivan Ivić
student

Član broj: 164258
Poruke: 18
*.adsl.net.t-com.hr.



Profil

icon Re: AES enkripcija i dekripcija26.12.2008. u 18:30 - pre 186 meseci
Zahvaljujem na preporuci da Cipher -a inicijaliziran sa kljucem i vektorom uspjelo je

Kad sam vec ovdje moze jos jedno pitanje ... Trebao bi hash poruke kriptirati sa privatnim kljucem posiljatelja te da primatelj poruke dekriptira sa javnim kljucem posiljatelja ... koliko ja znan to se moze napravit medutim nemi prilikom dekriptiranja javi exception bad key
Postoji li koji nacin kako postic da se poruka kriptira sa privatnim a dekriptira javnim kljucem

Pozdrav
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6042



+4631 Profil

icon Re: AES enkripcija i dekripcija26.12.2008. u 19:32 - pre 186 meseci
asimetricni crypto algoritmi su spori i za njih uvek generalno postoji bojazan od crypto analize dugackih ciphertext-ova pa je generalna preporuka da se asimetricnim kljucevima ne kriptuje nista sto je duze od samog kljuca, tj ako ti je RSA kljuc 1024 bita nemoj sa njim kriptovati nista duze od 1024 bita.

E sad, nisam bas siguran sta podrazumevas pod hash-om posto vodimo vise paralelnih rasprava, ovo sto si radio sa AES-om nije HASH, hash je rezultat nekog digest algoritma, npr md5, sha-1, sha-2, itd. To je veoma kratak blob do 512 bita koji onda kriptujes RSA kljucem posaljioca. Dekriptovanjem javnim kljucem posaljioca dobijas nazad hash vrednost i onaj koji proverava mora takodje da uradi digest poruke i da sracuna svoj hash istim algoritmom i poruka je autenticna i nepromenjena ako su hashovi isti. Imas ovde sa whackypedie sliku:

http://en.wikipedia.org/wiki/File:Digital_Signature_diagram.svg

U kom trenutku ti dobijas bad key i daj neki sors.
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6042



+4631 Profil

icon Re: AES enkripcija i dekripcija26.12.2008. u 19:37 - pre 186 meseci
E i da, u kucnoj varijanti neces moci da implementiras sve aspekte digitalnog potpisa koje trazis, tj. neces moci da garantujes neporecivost a i autenticnost ti je klimava, za to ti je potreban certificate authority koji naravno nemas. Eventualno mozes ti da progalsis sebe za skloskog CA i da izdajes x509 sertifikate "korisnicima". X509 sertifikat ti je vazan deo ne samo zbog fizicke provere identiteta pri sertifikaciji vec i zbog identity polja u x509 sertifikatu (tj ako je poruka dosla od "Pere" onda x509 sertifikat mora da glasi na Peru). I najvaznija stvar naravno je da ti ne drzis privatne kljuceve u bazi , time si u potpunosti iskljucio neporecivost jer svako sa pristupom bazi moze da dodje do privatnog kljuca.
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić
 
Odgovor na temu

program3r
Ivan Ivić
student

Član broj: 164258
Poruke: 18
*.adsl.net.t-com.hr.



Profil

icon Re: AES enkripcija i dekripcija26.12.2008. u 21:45 - pre 186 meseci
Pa da fala bogu da ne mogu garantirat neporecivost i ostalo jer neam certifikata medutim ovo je samo jedan projekt u sklopu jednog kolegija i baza mi glumi certifikat za dodjelu kljuceva i informacija o korisnicima ... sto se tice toga da asimetricni algoritmi su spori u potpunosti se slazem i naravno da s rsa ne kriptiram cijelu poruku vec 20 znakova sha-1 hash-a te iste poruke ... taj hash kriptiram tajnim kljucem posiljatelja te on posalje kriptiran hash i naravno digitalnu omotnicu u kojoj se nalazi kriptirana poruka nekim generiranim simetricnim kljicem . Hash poruke primatelj mora dekriptirat javnim kljucem onoga ko je posla te mi tu nastaje problem tj. ne mogu da dekriptiran taj hash jer izbaci navedeni exception... ne znam u cemu je problem jer sam procita da su javni i privatni kljucevi ekvivalentni tj. da se moze kriptirat tajnim te dekriptirat javnim i obratno samo meni ne ide prilikom dekripcije javnim kljucem

Nadam se da ste me razumjeli
 
Odgovor na temu

[es] :: .NET :: AES enkripcija i dekripcija

[ Pregleda: 3131 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.