Skip to content

MarwinMarw/encrypted_communicator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

encrypted_communicator

A study project of Security of Computer Systems.

Requirements:

  • The GUI interface must allow to type and send a text message to the other user. Besides the text also an ability of sending any files (e.g. *.txt, *.png, *.mp3, *.avi, itp.), with any size (from 1kB to more that 100 MB) must be implemented. A test files are given by the teacher.
  • It is obligatory to implement one of the block ciphers (AES, 3DES).
  • It is obligatory to implement all four modes of operation of the block ciphers (ECB, CBC, CFB, OFB), one mode will be selected by the user in the GUI.
  • For the CFB and OFB modes the size of the size of the block must be the power of 2.
  • It is obligatory to implement a progress bar presenting the progress of sending the large files.
  • For large files a method of data division must be implemented before sending them via the Ethernet interface.
  • A UDP (User Datagram Protocol) or TCP (Transmission Control Protocol) communication protocol must be used to send the data between the mashines.
  • When the UDP protocol was used a data loss exceptions must be handled.
  • A pseudorandom generator must be used to generate the session key. The input data for the generator must be taken “from the environment” (system time, HDD disk sector, mouse position).
  • The session key must be encrypted by using the RSA public key of the receiving person and send to the receiving person.
  • The public and private keys must be stored separately (e.g. in a different directories). The keys must be encrypted by using the block cipher operating in the CBC mode. The encryption key is the hash (generated by using the SHA-1, SHA-256 function) of the user-friendly password.
  • It is allowed to use the available implementations of the block ciphers, RSA encryption.
  • In a case of unauthorized decryption (e.g. using an incorrect password) the decryption process should be done with no notification to the user and as a result of the decryption process a pseudorandom data will be obtained.
  • In the report the results of performer tests must be included.

About

A study project of Security of Computer Systems

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages