Code Monkey home page Code Monkey logo

security-of-computer-systems's Introduction

Security of Computer Systems

Project for Security of Computer Systems at Gdańsk Tech

security-of-computer-systems's People

Contributors

qaziok avatar

Watchers

Kostas Georgiou avatar  avatar

security-of-computer-systems's Issues

TCP/UDP communication protocol

A UDP (User Datagram Protocol) or TCP (Transmission Control Protocol) communication protocol must be used to send the data between the applications.

Keys generations

During realization of the project, it is obligatory to generate the following keys:

  • session key (used for data encryption),
  • private and public RSA keys of the users (used for secure transmission of the session keys),
  • local key for securing the RSA keys during storage on the hard disk.

Password to access the application

The public and private keys must be stored separately (e.g. in a different directories). The RSA private keys must be encrypted by using the AES block cipher operating in the CBC mode. The encryption key (named as local key) is the hash (generated by using the SHA function) of the user-friendly password. In other words, the user must type the password to access the application.

Files progress bar

It is obligatory to implement status icons and a progress bar to present the current connection status and presenting the progress of sending the large files.

Encryption of session key

The session key must be encrypted by using the RSA public key of the receiving person and then send to the receiving person.

Large files division method

For large files, a method of data division must be implemented before sending them via the Ethernet interface.

Users activity

It is obligatory to implement status icons and a progress bar to present the current connection status and presenting the progress of sending the large files.

Sending text and files

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 tipical files (e.g. *.txt, *.png, *.pdf, *.avi), with any size (e.g. 1kB - small file, and also 500 MB – large file) must be implemented.

Sending encryption information

It must be remembered that also the parameters of the cipher (algorithm type, key size, block size, cipher mode, initial vector) must be send (in a secure way) to the 2nd user to allow the correct reception of the encrypted data.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.