C Programlama Sezar Algoritması ve RSA Algoritması
/* sezar sifreleme algoritmasi */
#include <stdio.h>
#include <string.h>
#include <conio.h>
int main () {
char mesaj[50];
int anahtar,i;
printf("..::: sezar sifreleme algoritmasi ::...\n\n");
printf("Mesaj : ");
scanf("%s",&mesaj);
strupr(mesaj);
printf("\n\n anahtari giriniz : ");
scanf("%d",&anahtar);
for(i=0;i<strlen(mesaj);i++)
mesaj[i]=(char) (((int)mesaj[i]-65+anahtar)%26+65);
printf("\n\n sifreleme sonucu : %s",mesaj);
getch();
return 0;
}
/* RSA Algoritması */
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<math.h>
int phi,C,M,n,e,d,FLAG;
int check() {
int i;
for(i=3;e%i==0&&phi%i==0;i+2)
{
FLAG = 1;
return 0;
}
FLAG = 0;
}
void encrypt()
{
int i;
C=1;
for(i=0;i<e;i++) {
C*=M;
}
C=C%n;
printf("\\n\tEncrypted keyword: %d",C);
}
void decrypt()
{
int i;
M=1;
for(i=0;i<d;i++)
M = M*C%n;
M=M%n;
printf("\n\tDecrypted keyword: %d",M);
}
int main() {
int p,q,s;
system("CLS");
printf("birinci asal sayiyi giriniz : ");
scanf("%d",&p);
printf("\n\nikinci asal sayiyi giriniz : ");
scanf("%d",&q);
n = p*q;
phi = (p-1)*(q-1);
printf("\n\tF(n)\t = %d",phi);
do{
printf("\n\n1 den buyuk %d den kucuk %d ile aralarinda asal bir E sayisi girin\t:",phi,phi);
scanf("%d",&e);
check();
}while(FLAG==1);
d = 1;
do{
s = (d*e)%phi;
d++;
}while(s!=1);
d = d-1;
printf("\n\tPublic key is \t: {%d, %d}",e,n);
printf("\n\tPrivate key is\t: {%d,%d}" ,d,n);
printf("\n\nEnter the Plain Text\t:");
scanf("%d",&M);
encrypt();
printf("\n\nEnter the Cipher text\t: ");
scanf("%d",&C);
decrypt();
getch();
}
0 Yorumlar
Bizimle fikirlerinizi paylaşabilirsiniz.