{"id":26330683,"url":"https://github.com/imwrdo/computer-system-security","last_synced_at":"2026-05-19T11:05:17.899Z","repository":{"id":282296720,"uuid":"939447703","full_name":"imwrdo/Computer-System-Security","owner":"imwrdo","description":"Computer System Security project on Gdansk University of Technology","archived":false,"fork":false,"pushed_at":"2025-03-13T19:33:13.000Z","size":27,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-13T20:33:14.667Z","etag":null,"topics":["aes-encryption","cybersecurity","java","javafx","rsa-cryptography"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/imwrdo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-02-26T14:58:47.000Z","updated_at":"2025-03-13T19:33:16.000Z","dependencies_parsed_at":"2025-03-13T20:43:49.857Z","dependency_job_id":null,"html_url":"https://github.com/imwrdo/Computer-System-Security","commit_stats":null,"previous_names":["imwrdo/computer-system-security"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imwrdo%2FComputer-System-Security","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imwrdo%2FComputer-System-Security/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imwrdo%2FComputer-System-Security/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imwrdo%2FComputer-System-Security/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/imwrdo","download_url":"https://codeload.github.com/imwrdo/Computer-System-Security/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243796739,"owners_count":20349264,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aes-encryption","cybersecurity","java","javafx","rsa-cryptography"],"created_at":"2025-03-15T22:16:57.333Z","updated_at":"2026-05-19T11:05:12.877Z","avatar_url":"https://github.com/imwrdo.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# 🚀 PAdES Electronic Signature Tool\n\n## 📌 Overview\n\nThe PAdES Electronic Signature Tool is a Java Swing application designed to create qualified electronic signatures following the PAdES (PDF Advanced Electronic Signature) standard. This tool ensures secure handling of RSA key pairs, encrypting the private key with AES for storage on a hardware device (pendrive).\n\n\n\n## ✨ Features\n\n- ✅ **Key Generation Tool**: An auxiliary application that generates RSA key pairs and encrypts the private key using AES with a user-provided PIN.\n- ✅ **Signing Application**: Detects the hardware tool (pendrive), decrypts the private RSA key using the PIN, and signs PDF documents according to PAdES standards.\n- ✅ **Verification Tool**: Enables users to verify signatures by generating document hashes and comparing them with those created during signing.\n\n## 🔹 Usage Scenario\n\n### 🔑 1. Key Generation\n\n1. User A runs the auxiliary application to generate RSA key pairs.\n2. The private key is encrypted using AES with a user-provided PIN.\n3. The encrypted private key is stored securely on a pendrive.\n\n### ✍️ 2. Signing Process\n\n1. User A inserts the pendrive containing the encrypted private key.\n2. The signing application automatically detects the hardware tool.\n3. User A enters the PIN to decrypt the private RSA key.\n4. A PDF document is selected for signing, embedding the electronic signature within the PDF according to PAdES standards.\n\n### ✅ 3. Signature Verification\n\n1. User B uses the same application to verify signatures.\n2. User B must have the public key of User A and the signed PDF document.\n3. The application generates a hash of the document and decrypts the hash embedded in the PDF using User A's public key.\n4. If the computed hash matches the decrypted hash, the signature is successfully verified.\n\n## 🔧 Installation\n\n```sh\n# Clone the repository\ngit clone https://github.com/imwrdo/Computer-System-Security.git\n\n# Compile the Java source files\njavac *.java\n\n# Run the application\njava MainApplication\n```\n\n## 📂 Dependencies\n\n- Java Development Kit (JDK) 8 or higher\n- Java Swing library for GUI components\n\n## 🤝 Contributing\n\nWe welcome pull requests! For significant changes, please open an issue first to discuss the updates.\n\n## 📜 License\n\nThis project is licensed under the MIT License - see the LICENSE file for details.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fimwrdo%2Fcomputer-system-security","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fimwrdo%2Fcomputer-system-security","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fimwrdo%2Fcomputer-system-security/lists"}