1 / 18

საქართველოს ტექნიკური უნივერსიტეტი

საქართველოს ტექნიკური უნივერსიტეტი. ტექსტების შიფრაციის მატრიცული და პოლიბიას მეთოდების პროგრამული უზრუნველყოფა. Georgian Technical University. გიორგი ლობჟანიძე.  მატრიცული მეთოდი და მისი არსი. დასაშიფრი ტექსტი:. შეტევა განახორციელეთ მარცხენა ფლანგიდან.

mira-weeks
Download Presentation

საქართველოს ტექნიკური უნივერსიტეტი

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. საქართველოს ტექნიკური უნივერსიტეტი ტექსტების შიფრაციის მატრიცული და პოლიბიას მეთოდების პროგრამული უზრუნველყოფა Georgian Technical University გიორგი ლობჟანიძე

  2.  მატრიცული მეთოდი და მისი არსი დასაშიფრი ტექსტი: შეტევა განახორციელეთ მარცხენა ფლანგიდან • გამოითვლება მატრიცის ოპტიმალური განზომილებები ( M * N ) >= ტექსტში ასოების რაოდენობა  მიმდინარეობს ტექსტის მატრიცაში შეტანა ( სტრიქონულად ) ამ კონკრეტულ შემთხვევაში მატრიცის განზომილებებია M = 7 და N = 6 ტექსტში ასოების რაოდენობის შესაბამისად

  3.  მიმდინარეობს ტექსტის მატრიციდან გამოტანა ( შვეულად ) დაშიფრული ტექსტი: შ ოეცფდეგრთხლატაც ეანენიმნნ*ვაეააგ*ახლრ ი*

  4.  მეთოდის გაუმჯობესება  ტექსტის შეტანა სტრიქონების გარკვეული თანმიმდევრობით: 7 5 4 6 2 3 1 7 5 6 3 2 4 1

  5.  ტექსტის გამოტანა სვეტების გარკვეული თანმიმდევრობით: 4 6 5 1 3 2 6 5 1 3 4 2 ტექსტის გასაშიფრი გასაღებების რაოდენობა ხდება: M! x N! ამ კონკრეტულ შემთხვევაში: 7! x 6! = 3628800 დაშიფრული ტექსტი: *ნნინმე* ილხრა*აგეაავდცფო ეშნეაცა ტახლრგთე

  6.  მატრიცული მეთოდით დაშიფრული ტექსტის გაშიფრვა გასაშიფრი ტექსტი: შ ოეცფდეგრთხლატაც ეანენიმნნ*ვაეააგ*ახლრ ი*  ტექსტის სვეტებში შეტანა  ტექსტის სტრიქონებიდან გამოტანა გაშიფრული ტექსტი: შეტევა განახორციელეთ მარცხენა ფლანგიდან***

  7.  მატრიცული მეთოდის პროგრამული უზრუნველყოფა  კლასის მოდელი კლასის სახელი private ატრიბუტები public მეთოდები

  8. while(true) { if(( i * i) >= text.length() ) { m=i; n=i; if( (i * (i-1)) >= text.length() ) { n = (i-1); } break; } i++; }  coding( ) მეთოდის სტრუქტურა და რეალიზაცია მატრიცის ოპტიმალური განზომილებების გამოთვლა int index = 0; for(int i=0; i<m; i++) { for(int j=0; j<n; j++) { if(index >= text.length()) letters[i][j] = "*"; else letters[i][j] = text.substr(index,1); index++; } } ტექსტის სტრიქონულად შეტანა მატრიცაში მატრიციდან ტექსტის გამოტანა სვეტებად for(int i=0; i<n; i++) { for(int j=0; j<m; j++) { codedText += letters[j][i]; } } დაშიფრული ტექსტის მიღება

  9.  enCoding(stringtextOfEncode, introw, intcol ) მეთოდის სტრუქტურა და რეალიზაცია მატრიცის განზომილებების აღდგენა გადაცემული პარამეტრებით constint m = row; constint n = col; for(int i=0, index = 0; i<n; i++) { for(int j=0; j<m; j++) { letters[j][i] = textOfEncode.substr(index,1); index++; } } ტექსტის შეტანა მატრიცაში შვეულად ტექსტის გამოტანა მატრიციდან სტრიქონულად for(int i = 0; i<m; i++) { for(int j = 0; j<n; j++) { enCodedText += letters[i][j]; } } საწყისი ტექსტის აღდგენა

  10.  codingWithKey() მეთოდის სტრუქტურა და რეალიზაცია მატრიცის ოპტიმალური განზომილებების გამოთვლა for(int i = 0; i<row; i++) { cout<<"\tRow["<<i<<"] Key: "; cin>>rowKey[i]; } სტრიქონების შეტანის თანმიმდევრობის მიღება მომხმარებლისგან for(int i=0; i<row; i++) { for(int j=0; j<col; j++) { if( index >= text.length() ) letters[rowKey[i]][j] = "*"; else letters[rowKey[i]][j] = text.substr(index,1); index++; } } ტექსტის შეტანა სტრიქონულად მომხმარებლის მიერ მითითებული თანმიმდევრობით

  11. for(int i=0; i<col; i++) { cout<<"\tCol["<<i<<"] Key: "; cin>>colKey[i]; } სვეტების გამოტანის თანმიმდევრობის მიღება მომხმარებლისგან ტექსტის გამოტანა შვეულად მომხმარებლის მიერ მითითებული თანმიმდევრობით for(int i=0; i<col; i++) { for(int j=0; j<row; j++) { codedWithKeyText += letters[j][colKey[i]]; } } დაშიფრული ტექსტის მიღება

  12.  enCodingWithKey(stringtextOfEncode, introw, intcol )მეთოდის სტრუქტურა და რეალიზაცია მატრიცის განზომილებების აღდგენა გადაცემული პარამეტრებით constint m = row; constint n = col; for(int i=0; i<n; i++) { cout<<"\tCol["<<i<<"] Key: "; cin>>colKey[i]; } სვეტების შეტანის თანმიმდევრობის მიღება მომხმარებლისგან for(int i=0; i<n; i++) { for(int j=0; j<m; j++) { letters[j][colKey[i]] = textOfEncode.substr(index,1); index++; } } მატრიცის აღდგენა for(int i=0; i<m; i++) { cout<<"\tRow["<<i<<"] Key: "; cin>>rowKey[i]; } სტრიქონების გამოტანის თანმიმდევრობის მიღება მომხმარებლიდან for(int i=0; i<m; i++) { for(int j=0; j<n; j++) { enCodedText += letters[rowKey[i]][j]; } } საწყისი ტექსტის აღდგენა

  13.  პოლიბიას მეთოდი და მისი არსი დასაშიფრი ტექსტი: მტერი მარცხენა ფლანგზეა  ანბანი  შიფრაციის წესი ა ბ გ დ ე ვ თითოეული ასო იცვლება მისი კოორდინატებით ა იცვლება მ ბვ ბ გ დაშიფრული ტექსტი: დ ბვდააეგებგვდბვააგეეგვააეგააავდდგბეააგააგბააეაა ე ვ

  14.  პოლიბიას მეთოდით დაშიფრული ტექსტის დეშიფრაცია გასაშიფრი ტექსტი: ბვდააეგებგვდბვააგეეგვააეგააავდდგბეააგააგბააეაა  დეშიფრაციის წესი ბვ ა ბ გ დ ე ვ ა ვ ბ ბ გ მ დ ე გაშიფრული ტექსტი: ვ მტერი მარცხენა ფლანგზეა

  15.  პოლიბიას მეთოდის პროგრამული უზრუნველყოფა კლასის სახელი  კლასის მოდელი private ატრიბუტები public მეთოდები

  16.  polibiaCoding( ) მეთოდის სტრუქტურა და რეალიზაცია const string alphabet[6][6] = { {"a","b","g","d","e","v"}, {"z","T","i","k","l","m"}, {"n","o","p","J","r","s"}, {"t","u","f","q","R","y"}, {"S","C","c","Z","w","W"}, {"x","j","h"," ",".",","} }; const string rowLetters[6] = {"a","b","g","d","e","v"}; const string colLetters[6] = {"a","b","g","d","e","v"}; ანბანის და კოორდინატების აღწერა სიმბოლოების ძიება ანბანში და მათი ჩანაცვლება შესაბამისი კოორდინატებით for(int a=0; a<text.length(); a++) { letter = text.substr(a,1); for(int i=0; i<6; i++) //find current element { for(int j=0; j<6; j++) { if( letter == alphabet[i][j] ) { temp = rowLetters[i] + colLetters[j]; codedText += temp; } } } } დაშიფრული ტექსტის მიღება

  17.  polibiEnCoding( string textOfEncode) მეთოდის სტრუქტურა და რეალიზაცია ანბანის და კოორდინატების აღწერა ტექსტიდან ასოების წყვილ-წყვილად ამოჭრა და მათი ჩანაცვლება ანბანში შესაბამის კოორდინატებზე მდებარე ასოთი for(int i=0; i<textOfEncode.length()/2; i++) { txt1 = textOfEncode.substr(index,1); txt2 = textOfEncode.substr((index+1),1); for(int j=0; j<6; j++) { if(txt1 == rowLetters[j]) rowLetter = j; if(txt2 == colLetters[j]) colLetter = j; } enCodedText += alphabet[rowLetter][colLetter]; index+=2; } დაშიფრული ტექსტის მიღება

More Related