Articles of шифрование

Ошибка после того, как Fingerprint коснулся телефонов Samsung: android.security.KeyStoreException: ключевой пользователь не аутентифицирован

Мое приложение использует Android 6.0 Fingerprint API для защиты ключа AES в Android KeyStore. KeyGenParameterSpec ключ может использоваться только тогда, когда пользователь аутентифицируется датчиком отпечатков пальцев, потому что KeyGenParameterSpec инициализируется с помощью setUserAuthenticationRequired(true) . Когда пользователь касается датчика, я получаю инициализированный Cipher от обратного вызова onAuthenticationSucceeded(Cipher) и я использую его для дешифрования. Это прекрасно работает, […]

Как WhatsApp может быть сквозным зашифрованным, когда WhatsApp Web все еще работает

Я не уверен, что это подходящее место, но я уверен, что задаю очень глупый вопрос. Я разработчик, но ничего не знаю о новейших технологиях шифрования. Я читал на многих веб-сайтах, что многие годы компания WhatsApp приняла эту «технологию», и наши сообщения и все в настоящее время безопасны. У меня есть несколько вопросов, которые меня все […]

Последний незавершенный блок с CipherInputStream / CipherOutputStream, даже с дополнением AES / CBC / PKCS5Padding

На самом деле, я искал много из Интернета и в stackoverflow тоже для этого, Первоначально я не использовал прописку в моем шифровании и расшифровке, Но, наконец, я получил решение отсюда https://stackoverflow.com/a/10775577/1115788 И я обновил свой код с помощью дополнения как AES / CBC / PKCS5Padding, и эта же ошибка наступает, а последний блок не дешифрован […]

Как обрабатывать «последний незавершенный блок в расшифровке»

У меня есть простой класс, чтобы попытаться обернуть шифрование для использования в другом месте в моей программе. import java.security.SecureRandom; import javax.crypto.Cipher; import javax.crypto.KeyGenerator; import javax.crypto.spec.SecretKeySpec; public final class StupidSimpleEncrypter { public static String encrypt(String key, String plaintext) { byte[] keyBytes = key.getBytes(); byte[] plaintextBytes = plaintext.getBytes(); byte[] ciphertextBytes = encrypt(keyBytes, plaintextBytes); return new String(ciphertextBytes); } […]

Шифрование с помощью AES-256 и вектора инициализации

У меня есть вопрос, связанный с использованием вектора инициализации в AES-шифровании. Я ссылаюсь на следующие статьи / сообщения для создания шифрования в моей программе: [1] Java-битное шифрование на основе пароля AES [2] http://gmailassistant.sourceforge.net/src/org/freeshell/zs/common/Encryptor.java.html Я изначально следовал за решением erickson из первой ссылки, но, насколько я могу судить, PBKDF2WithHmacSHA1 не поддерживается моей реализацией. Итак, я обратился […]

Чтение сообщений whatsapp

Я хочу создать приложение для Android, которое считывает входящие, а также сообщения whatsapp. Я хочу сделать резервную вещь. Хотя есть возможность сделать это в whatsapp. Но я хочу прочитать сообщения, а затем вернуть их из своего приложения. Я узнал, что whatsapp хранит сообщения в зашифрованном формате в файловой системе. Так кто может рассказать мне, как […]

Шифр с режимом ECB не должен использоваться

Я пытаюсь использовать Cipher с парой ключей RSA вместе с "AndroidKeyStore" . Во всей документации для Android, которую я могу найти, на примерах показаны Cipher.getInstance("RSA/ECB/OAEPWithSHA-256AndMGF1Padding") или Cipher.getInstance("RSA/ECB/PKCS1Padding") . Оба из них вызывают одно и то же предупреждение в Android Studio: Шифрование ECB не должно использоваться Cipher # getInstance не следует вызывать с ECB в качестве […]

Шифрование AES 128 в Java Decryption в PHP

Я пытаюсь расшифровать строку с использованием AES-128 CBC, которая изначально была зашифрована с использованием шифрования JAVA AES. В java PKCS7 используется прокладка. И я попытался зашифровать и расшифровать с помощью аналогичного PHP-кода. Но я получаю разные результаты. Мой код Java import java.security.MessageDigest; import java.security.spec.AlgorithmParameterSpec; import javax.crypto.Cipher; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec; import android.util.Base64; /** * @author […]

Внедрение TLS 1.2 на Android 2.3.3

Я пытаюсь реализовать TLS 1.2 на Android. Я создаю SSLSocket s, но когда я запускаю s.getSupportedProtocols (), TLS 1.2 не является одним из вариантов. Поддерживаются TLSv1 и SSLv3, но TLSv1.2 – нет. В связи с этим вопросом, циферсуит мне тоже не нужен (TLS_ECDHE_ECDSA_WITH_AES_256 _…) Любая идея о том, что я могу импортировать или делать, чтобы […]

NumberFormatException для действительного числа String

Я видел некоторые другие вопросы об этом, но ошибки были связаны с ведущим 0 в строке. К сожалению, это не мое дело. Я получаю зашифрованные данные из внешнего источника в формате base64, затем декодирую его (используя встроенную библиотеку Base64, потому что версия для Android sdk равна 7), расшифруйте сообщение, и после всего, что у меня […]