amaliy ish Kriptografiya Mavzu: Psevdotasodifiy sonlar generatorini va uning dasturiy ta’minotini yaratish



Download 65,81 Kb.
Sana16.01.2022
Hajmi65,81 Kb.
#370715
Bog'liq
6-amaliy ish Kriptografiya 1 Mavzu Psevdotasodifiy sonlar gener


6-amaliy ish Kriptografiya_1

Mavzu: Psevdotasodifiy sonlar generatorini va uning dasturiy ta’minotini yaratish.

Chiziqli va chiziqsiz kongurent kalit xosil qilishning dasturiy ta’minotini ishlab chiqishda Java dasturlash tilidan foydalandim.


package com.company;

import java.nio.charset.StandardCharsets;

import java.util.Scanner;

public class Main {

public static void main(String[] args) {

// write your code here

Scanner km=new Scanner(System.in);

char generatsiyaturi;

System.out.println("Kalitni generatsiya qilish turini tanglang!\na tugmani bossangiz chiziqli kongurent rejimni tanlagan bo'lasiz!\nb tugmani bossangiz chiziqsiz kongurent rejimni tanlagan bo'lasiz!");

String k =km.nextLine().toLowerCase();

int w=0;


int t=0;

generatsiyaturi=k.charAt(0);

switch (generatsiyaturi){

case 'a': w++;

System.out.println(" Siz chiziqli kongurent rejimni tanladingiz!! va\nX(i+1)=(aXi+c)mod N: formula bo'yicha kalit generatsiya qilinadi "); break;

case 'b':

System.out.println("Siz chiziqsiz kongurent rejimni tanladingiz!! va\nX(i+1)=(d(Xi)^2+aXi+c)mod N: formula bo'yicha kalit generatsiya qilinadi");

t++; break;

}

if (t==1){



System.out.print("xo ni kiriting=");

int xo= km.nextInt();

System.out.print("d ni kiriting=");

int d=km.nextInt();

System.out.print("a ni kiriting=");

int a=km.nextInt();

System.out.print("c ni kiriting=");

int c=km.nextInt();

int n=9;

System.out.print("Eslatma! kalit uzunligi 8 bitdan kam bo'lmasiligi kerak va 8ga karrali bo'lsin!\nkalit uzunligini kiriting yani necha bit bo'lsin!!=");

int kk=km.nextInt();

int sonlar_soni=kk/8;

int ll=sonlar_soni*8;

int sonlar[]=new int[sonlar_soni];

sonlar[0]=xo;

for (int i = 1; i

sonlar[i]=(d*(int) Math.pow(i,2)+(sonlar[i-1]*a)+c)%n; }

System.out.print("K= ");

for (int i = 0; i

// System.out.print( sonlar[i] + " ");

String input= String.valueOf(sonlar[i]);

String result=convertByteArraysToBinary(input.getBytes(StandardCharsets.UTF_8));

System.out.print(result);

}

System.out.print (" "+ll+" bitlik kalit");



} if(w==1){

System.out.print("xo ni kiriting=");

int xo= km.nextInt();

System.out.print("a ni kiriting=");

int a=km.nextInt();

System.out.print("c ni kiriting=");

int c=km.nextInt();

int n=9;


System.out.print("Eslatma! kalit uzunligi 8 bitdan kam bo'lmasiligi kerak va 8ga karrali bo'lsin!\nkalit uzunligini kiriting yani necha bit bo'lsin!!=");

int kk=km.nextInt();

int sonlar_soni=kk/8;

int ll=sonlar_soni*8;

int sonlar[]=new int[sonlar_soni];

sonlar[0]=xo;

for (int i = 1; i

sonlar[i]=((sonlar[i-1]*a)+c)%n; }

System.out.print("K= ");

for (int i = 0; i

// System.out.print(sonlar[i] + " ");

String input= String.valueOf(sonlar[i]);

String result=convertByteArraysToBinary(input.getBytes(StandardCharsets.UTF_8));

System.out.print(result);

}

System.out.print (" "+ll+" bitlik kalit");



}

}

public static String convertByteArraysToBinary(byte[] input) {



StringBuilder result = new StringBuilder();

for (byte b : input) {

int val = b;

for (int i = 0; i < 8; i++) {

result.append((val & 128) == 0 ? 0 : 1); // 128 = 1000 0000

val <<= 1;



}

}

return result.toString();}}




Download 65,81 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish