Giter VIP home page Giter VIP logo

cryptool's Introduction

Hi, I'm Noé

I am a software engineer specialized in mobile-first technologies

  • 🏄 I’m surfing the indie hacking wave
  • 🌱 I’m currently learning AI
  • 🦾 I’m looking to collaborate on open source libraries and applications
  • 💬 Ask me about: Kotlin Multiplatform, Flutter, Android, and iOS
  • 📫 How to reach me: Email
  • 🌐 My personal website: nfdz.dev

cryptool's People

Contributors

nfdz avatar poussinou avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cryptool's Issues

Add verification info (signing certificate for APK) on github

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

*Localization Testing:*

  • Verify that the widget functions correctly when the device language is set to English.
  • Test UI elements and text for localization readiness, ensuring that they can be easily translated into other languages in future updates.

Integration Testing:*

  • Integrate the widget with the Cryptool app and verify that encryption/decryption operations are performed correctly using Cryptool's algorithms.
  • Test integration across different Android versions, ensuring compatibility with Android 12 and above as specified.
  • Verify that the widget interacts correctly with the Cryptool app's logic for encryption and decryption processes.

Option to send encrypted SMS & QR Codes to share the keys.

This is a feature that I consider necessary, the possibility to send SMS directly from Cryptool app, yes you can copy and paste messages, but it is not comfortable when you're chatting, so an option to autoencrypt messages at the moment we send them and autodecrypt encrypt messages at the moment we receive them.

2 features more (derivated) but also necessary.

  1. QR codes to share the keys, and an scaner to add the keys.
  2. Option to use asimetric keys, like GPG (yes, I know that there is other thread with that suggestion, but it will be more useful in messages.

Thanks.

Encryption/Decryption Functionality Testing:*

Test Scenarios - Test encryption functionality by entering a password and plaintext, then verifying that the ciphertext is generated correctly.
Test Scenario - Test decryption functionality by entering the correct password and ciphertext, then verifying that the plaintext is recovered accurately.

Test Scenario: - Verify that the widget handles incorrect passwords gracefully, displaying an error message or vibrating red X as specified.
Test Scenario: - Test encryption/decryption with different input lengths and characters to ensure compatibility and accuracy.
Test Scenario: - Verify that encryption/decryption operations work seamlessly in both light and dark themes.

How to use conversation ?????

Describe the bug
How to connect two phone ? By sms , by LAN , by file , and by manual options?

To Reproduce
Dont be the dev i guess. Sorry its just for say there is no tutorial to say how to start and i dont really understand where i can post this message.
The app is really good i love it but there is no guide no easy start its sad, and i dont know how to connect 2 phones for communication with the app.

Hope you will understand what I asking for because I know my english is not really good.

Add support for sharing and autogenerate password

When i am using this app in combination with Whatsapp/Signal/Telegram or so, when i am in the app and i copy the encrypted text i can share it with the apps, but when i am in one of those apps and i recieve encrypted text from my contacts i cannot copy and share it with Cryptool. It would be nice to also share it with the tool so it s mich easier to have a conversation.

The second thing that would be nice, is to have a small button that auto generates passwords next to the password tile when making a new encrypted conversation. Most people dont know what a safe password is so thos would be a nice addition in my opinion.

[Feature][UI] Dark theme

It'd be nice if the app had a dark theme available for people using it at night or for people with dark system themes

Long SMS

Hello,

If I send via SMS, longer messages will not be sent, specifically every message longer than 1 Sms. I Downloaded via Github apk. The sms looks sent in the cryptool app but there is nothing sent in my standard sms application. If i copy and paste the encrypted text to my sms app it is sent, so no error from my sms system.

To Reproduce
Add chat --> connection via sms
Send sms longer than 1 sms (I think 132 chars encrypted text?). The message looks sent in the cryptool app but is not.

Expected behavior
Message gets sent like any other message

[Feature] Add support for PGP keys

It would be really nice if Cryptool supported the usage of PGP keys (both RSA and ECC) for encryption, decryption and signing.

They could be implemented using OpenKeychain.

Cryptographic Issues

Issues

  1. The salt is predictable, static, and not sufficiently random.

  2. Predictable, static, and non-random IVs cripple the confidentially provided by AES in CBC mode.

  3. The current implementation of AES in CBC mode is vulnerable to padding oracle attacks due to no authentication, or integrity via a MAC.

  4. PBKDF2 with 73 iterations is not enough for key derivation from passwords or passphrases.

  5. SHA1's output of 160 bits is not enough for a 256 bit key. The way PBKDF2 works, leads to issues where adversaries may optimize for a faster verification method if you ask PBKDF2 for more than a hash function will output. See 1Password's implementation flaws.

Solutions

  1. Use a CPRNG for the salt.

  2. Use a CPRNG for the IV.

  3. Provide authenticity and integrity via HMAC, with SHA256. Encrypt then MAC!

  4. Use 100,000+ iterations for passwords or passphrases. If you are deriving keys from keys, a few iterations is fine.

  5. If you are deriving a single 256 bit key, use SHA256 instead of SHA1 with PBKDF2. If you are deriving two 256 bit keys, use SHA512. Just do not ask PBKDF2 for more bits or bytes than the hash function outputs.

You should take a look at Moxie's blog post on cryptographic doom principle.

Consider using Argon2, or Scrypt in the near future for key derivation instead of PBKDF2. Also consider an AEAD cipher, like ChaCha20-Poly1305.

Need old version to migrate data to the new one

I have some important messages encrypted by your old app and saved in a note elsewhere for safety. But now with this new version I can't able to decrypt my saved encrypted messages. Can you help me with this? And can you please send me the old cryptool apn? So that I can transition to your new version.

Security Testing: *

Test Scenarios :

  • Test the automatic clearing of sensitive information after one minute of inactivity by entering data and waiting for the specified duration.
    • Verify that sensitive information is immediately cleared upon activating the clear function.
    • Test the widget's behavior when transitioning between foreground and background states to ensure data security measures are applied consistently

User Experience Testing:*

  • Conduct usability testing to ensure that the widget's UI is intuitive and easy to use, especially considering the constraint of two buttons.
    • Test copy and clear actions to verify that they function as expected and provide a smooth user experience.

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.