masto.es es uno de los varios servidores independientes de Mastodon que puedes usar para participar en el fediverso.
Bienvenidos a masto.es, el mayor servidor de Mastodon para hispanohablantes de temática general. Registros limitados actualmente a invitaciones.

Administrado por:

Estadísticas del servidor:

1,9 K
usuarios activos

#encriptacion

0 publicaciones0 participantes0 publicaciones hoy
Henry Ramirez<p><strong>Apple y el Reino Unido: Un Debate sobre Encriptación y Privacidad</strong></p><p>En una era donde la información personal es un tesoro y la privacidad se valora cada vez más, surge un conflicto entre <a href="https://tecnologiageek.com/whatsapp-te-permitira-encriptar-las-copias-de-seguridad-de-los-mensajes-en-nube/" rel="nofollow noopener" target="_blank">gigantes tecnológicos </a>y gobiernos. Un caso reciente involucra a Apple y el Reino Unido, donde una orden gubernamental ha llevado a la eliminación de una función clave de encriptación en la nube para los usuarios británicos. Este artículo explora los detalles de esta situación, las implicaciones para la privacidad de los usuarios y el debate más amplio sobre el acceso gubernamental a datos personales.</p><p><strong>¿Qué Sucedió?</strong></p><p>Apple, conocida por su fuerte postura en defensa de la privacidad de sus usuarios, ha deshabilitado su función de Protección Avanzada de Datos (ADP) para los usuarios de iCloud en el Reino Unido. Esta función ofrecía un nivel adicional de encriptación, asegurando que solo el usuario pudiera acceder a sus datos. La decisión sobre Apple y el Reino Unido se tomó tras una orden del gobierno británico que exigía a Apple proporcionar acceso directo a los datos personales almacenados en iCloud, incluso si estaban encriptados.</p><p><strong>La Respuesta de Apple</strong></p><p>Apple ha expresado su profunda decepción por esta medida, argumentando que socava la privacidad y seguridad de sus usuarios. El enfrentamiento entre Apple y el Reino Unido refleja que las intromisiones del gobierno representan «violaciones de datos» y «amenazas a la privacidad de los clientes». A pesar de su oposición, Apple se ha visto obligada a cumplir con la orden gubernamental, dejando a los usuarios británicos sin la protección adicional de la encriptación ADP.</p><p><strong>Implicaciones para la Privacidad</strong></p><p>La eliminación de la encriptación ADP en el Reino Unido plantea serias preocupaciones sobre la privacidad de los usuarios. Sin esta protección, los datos personales almacenados en iCloud son más vulnerables al acceso no autorizado, ya sea por parte del gobierno o de terceros malintencionados. Sin embargo, la relación entre Apple y el Reino Unido ahora sienta un precedente preocupante, ya que otros gobiernos podrían seguir el ejemplo del Reino Unido y exigir acceso similar a los datos de los usuarios.</p> <a href="https://tecnologiageek.com/como-proteger-sus-datos-de-la-exposicion-en-chatgpt/" rel="nofollow noopener" class="" target="_blank"><p></p> DE INTERES Cómo proteger sus datos de la exposición en ChatGPT </a><p><a href="https://tecnologiageek.com/como-proteger-sus-datos-de-la-exposicion-en-chatgpt/" rel="nofollow noopener" class="" target="_blank"></a></p> <p><strong>El Debate sobre el Acceso Gubernamental</strong></p><p>Este caso pone de manifiesto el debate en curso sobre el equilibrio entre la seguridad nacional y la privacidad individual. Los gobiernos argumentan que necesitan acceso a datos encriptados para investigar delitos y prevenir ataques terroristas. Por otro lado, los defensores de la privacidad señalan que el acceso gubernamental sin restricciones puede llevar a abusos y violaciones de derechos fundamentales.</p><p><strong>¿Qué Significa Esto para el Futuro?</strong></p><p>La decisión de Apple de eliminar la encriptación ADP en el Reino Unido es un revés para la privacidad de los usuarios y un precedente preocupante para el futuro. Este caso subraya la necesidad de un debate global sobre el acceso gubernamental a datos personales y la importancia de proteger la privacidad de los ciudadanos en la era digital.</p><p><strong>Fuente</strong></p><ul><li><strong><a href="https://www.bloomberg.com/news/articles/2025-02-20/cftc-fires-some-employees-in-latest-government-job-terminations?embedded-checkout=true" rel="nofollow noopener" target="_blank">Bloomberg</a></strong></li></ul><p><span></span></p><p><a rel="nofollow noopener" class="hashtag u-tag u-category" href="https://tecnologiageek.com/tag/apple/" target="_blank">#Apple</a> <a rel="nofollow noopener" class="hashtag u-tag u-category" href="https://tecnologiageek.com/tag/derechos-digitales/" target="_blank">#derechosDigitales</a> <a rel="nofollow noopener" class="hashtag u-tag u-category" href="https://tecnologiageek.com/tag/encriptacion/" target="_blank">#encriptación</a> <a rel="nofollow noopener" class="hashtag u-tag u-category" href="https://tecnologiageek.com/tag/icloud/" target="_blank">#icloud</a> <a rel="nofollow noopener" class="hashtag u-tag u-category" href="https://tecnologiageek.com/tag/privacidad/" target="_blank">#Privacidad</a> <a rel="nofollow noopener" class="hashtag u-tag u-category" href="https://tecnologiageek.com/tag/reino-unido/" target="_blank">#ReinoUnido</a> <a rel="nofollow noopener" class="hashtag u-tag u-category" href="https://tecnologiageek.com/tag/seguridad-de-datos/" target="_blank">#SeguridadDeDatos</a> <a rel="nofollow noopener" class="hashtag u-tag u-category" href="https://tecnologiageek.com/tag/tecnologia-3/" target="_blank">#Tecnología</a> <a rel="nofollow noopener" class="hashtag u-tag u-category" href="https://tecnologiageek.com/tag/vigilancia-gubernamental/" target="_blank">#vigilanciaGubernamental</a></p>
LiberaForms (en castellano)<p>¡Novedades en la protección de datos! <br>Hemos estado trabajando duro en el cifrado de extremo a extremo (E2EE).</p><p>Aunque todavía está en fase de pre-lanzamiento, la versión completa está prevista para principios de 2025. Estate atento a las novedades y no dudes en participar para dar forma al futuro de LiberaForms.</p><p>Gracias por formar parte de este viaje. ¡Por unas herramientas más éticas y fáciles de usar en 2025! 🥂</p><p><a href="https://masto.nobigtech.es/tags/Encriptaci%C3%B3n" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Encriptación</span></a><br><a href="https://masto.nobigtech.es/tags/Privacidad" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Privacidad</span></a> <br><a href="https://masto.nobigtech.es/tags/Software%C3%89tico" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SoftwareÉtico</span></a><br><a href="https://masto.nobigtech.es/tags/Agradecimiento" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Agradecimiento</span></a></p>
Leonardo Ruilova<p>Acerca de la existencia, en la Europa del Renacimiento, de una hermandad de artistas, músicos, filósofos, teólogos, pintores, que se comunicaban entre sí enviándose mutuamente tarjetas con signos, dibujos, emblemas, acertijos, grabados. <br>Cada envío era la respuesta a un envío anterior. En ocasiones, algún jugador inspirado contestaba una ficha con una pequeña colección de retratos en miniatura</p><p>El árbol de la prosa</p><p>Carlos Otrebla</p><p><a href="https://chilemasto.casa/tags/borges" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>borges</span></a> <a href="https://chilemasto.casa/tags/cienciaficcion" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>cienciaficcion</span></a> <a href="https://chilemasto.casa/tags/fantasia" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>fantasia</span></a> <a href="https://chilemasto.casa/tags/encriptacion" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>encriptacion</span></a> <a href="https://chilemasto.casa/tags/cifrado" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>cifrado</span></a></p>
CAD (Centro de Autonomía Digital)<p><a href="https://infosec.exchange/tags/CryptoParty" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CryptoParty</span></a> | Esta mesa se enfoca en el uso de VeraCrypt, una herramienta de software libre, para cifrar discos y resguardas la información sensible. </p><p>Esta mesa estará guiada por La Libre Tecnologías Comunitarias. </p><p><a href="https://infosec.exchange/tags/cuidadosdigitales" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>cuidadosdigitales</span></a> <a href="https://infosec.exchange/tags/cifrado" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>cifrado</span></a> <a href="https://infosec.exchange/tags/encriptacion" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>encriptacion</span></a> <a href="https://infosec.exchange/tags/seguridadinformatica" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>seguridadinformatica</span></a></p>
Sursiendo<p>Hoy en nuestro <a href="https://mastodon.social/tags/SabadodeComunes" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SabadodeComunes</span></a> (en primer sábado de cada mes)</p><p><a href="https://mastodon.social/tags/Assange" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Assange</span></a> <a href="https://mastodon.social/tags/espionaje" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>espionaje</span></a> <a href="https://mastodon.social/tags/vigilancia" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>vigilancia</span></a> <a href="https://mastodon.social/tags/encriptaci%C3%B3n" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>encriptación</span></a> <a href="https://mastodon.social/tags/inteligenciaartificial" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>inteligenciaartificial</span></a> <br>y avancemos en Repensar Internet, el <a href="https://mastodon.social/tags/SoftwareLibre" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SoftwareLibre</span></a> y la <a href="https://mastodon.social/tags/CulturaLibre" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CulturaLibre</span></a></p><p><a href="https://sursiendo.org/2024/07/hay-un-sabado-de-comun-denominadores-496/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">sursiendo.org/2024/07/hay-un-s</span><span class="invisible">abado-de-comun-denominadores-496/</span></a></p>
#blogeando<a href="https://hashblogeando.wordpress.com/wp-content/uploads/2024/07/captura-desde-2024-07-01-22-31-12.png" rel="nofollow noopener" target="_blank"></a>Datos encriptados con llave publica PGP<p>En estos días de APIs e integraciones entre empresas la seguridad de los datos ya se empieza a tomar en serio, por lo que no es extraño que le soliciten encripte los datos antes de enviarlos. </p><p>Uno de los métodos de encriptados mas comúnmente usados con esos fines es la encriptación asimétrica vía una llave publica PGP/GPG, así que veamos como se hace.</p><p><strong>Llave publica PGP / GPG</strong></p><p>La encriptación asimétrica funciona de la siguiente manera, nosotros tenemos dos llaves diferentes, una que solo sirve para encriptar, la llave publica y una que solo sirve para desencriptar, la llave privada.</p><p>La llave publica la distribuimos con toda la gente de la que planeemos recibir información y con esta pueden generar un mensaje que solo puede ser descifrado con la llave privada.</p><p>La llave privada no la compartimos fuera de la organización y con esta podemos descifrar los mensajes encriptados con la llave publica.</p><p>Las llaves no son intercambiables la llave privada no sirve para generar mensajes y la llave publica no puede desencriptarlos por lo que debe ser cuidadoso en como maneja estos dos archivos.</p><p>Las llaves son manejadas por varios programas siendo los mas comunes, y los que le dan el nombre que usamos en esta entrada, el Pretty Good Privacy o PGP y el GNU Privacity Guard o GPG ambos son compatibles entre si y esas llaves funcionaran con el ejemplo que veremos a continuación.</p><p><strong>Bouncy Castle</strong></p><p>El framework mas popular y completo para encriptación en Java es Bouncy Castle y lo usaremos para </p><p>Dado que este framework cubre muchos métodos de encriptación esta dividido en múltiples módulos, para lo que necesitamos usaremos dos, el modulo bcpkix y bcpg los cuales puede encontrar en el repositorio de Maven en los siguientes enlaces:</p><p><a href="https://mvnrepository.com/artifact/org.bouncycastle/bcpkix-jdk18on" rel="nofollow noopener" target="_blank">Bouncy Castle PKIX, CMS, EAC, TSP, PKCS, OCSP, CMP, and CRMF APIs</a></p><p><a href="https://mvnrepository.com/artifact/org.bouncycastle/bcpg-jdk18on" rel="nofollow noopener" target="_blank">Bouncy Castle OpenPGP API</a></p><p>Detalle muy importante, Bouncy Castle es MUY dependiente de la versión del Kit de Desarrollo Java (JDK) que este utilizando y por tanto de la versión de la maquina virtual donde lo desea correr, estos enlaces son para el Java 18, si va a utilizar otra versión busque en Maven las versiones con versión JDK que planea usar y utilice esos, de otro modo es posible vea errores extraños al ejecutar su programa.</p><p>Si esta utilizando NetBeans le recomiendo agregue ambos módulos desde el dialogo de agregar dependencias al proyecto, ya que se ese se encargara de buscar la versión adecuada según la plataforma Java que halla configurado en su proyecto.</p><p><strong>Crear una llave publica GPG / PGP</strong></p><p>Si apenas esta agregando el encriptado a su programa lo mas posible es que no tenga una llave publica para realizar pruebas, en ese caso le recomiendo genere una para pruebas con ayuda de este muy útil sitio:</p><p><a href="https://pgpkeygen.com/" rel="nofollow noopener" target="_blank">https://pgpkeygen.com/</a></p><a href="https://hashblogeando.wordpress.com/wp-content/uploads/2024/07/captura-desde-2024-07-01-23-27-57.png" rel="nofollow noopener" target="_blank"></a>pgpkeygen.com, utileria web para generar llaves GPG / PGP<p>Su uso es sencillo, solo llene la información, presione «Generate Keys» y después de unos momentos tendrá el par de llaves la publica y privada, las cuales podrá descargar con el botón correspondiente, para nuestro ejemplo solo requeriremos de la llave publica.</p><p>Usando ese sitio se crearon las llaves usadas en este ejemplo, las cuales se incluyen como los archivos llave.gpg que contiene la llave publica y llavePrivada.gpg que contiene la llave privada.</p><p>Notara que uno de los campos en la utilería es PassPhrase, esta es la contraseña de la llave privada, la cual distingue entre mayúsculas y minúsculas y es necesaria para descifrar el mensaje, no hay forma de recuperarla desde las llaves así que asegúrese de no perderla.</p><p>La contraseña de la llave privada del ejemplo es hashHash téngalo en mente ya que usaremos esto al final del ejemplo.</p><p><strong>Ejemplo</strong></p><p>El proceso para aplicar la encartación es el siguiente:</p><ol><li>Cargar la llave publica desde su archivo a un InputFileStream</li><li>Inicializar Bouncy Castle</li><li>Convertir el mensaje que deseamos encriptar a un arreglo de bytes</li><li>Obtener el tamaño de ese arreglo de bytes</li><li>Convertir el arreglo de bytes a un ByteArrayInputStream</li><li>Crear un OutputStream para almacenar el resultado</li><li>Crear el objeto compresor de datos</li><li>Crear la configuración del encriptador</li><li>Crear el encriptador</li><li>Convertir el Stream de la llave publica a PGPPublicKey</li><li>Creamos el método de encriptado JcePublicKeyKeyEncryptionMethodGenerator</li><li>Agregamos ese método al encriptador</li><li>Si se usara la armadura convertirmos el Stream de salida en ArmoredOutputStream</li><li>Aplicamos la encriptacion</li><li>Convertidos los datos encriptados a un outputStream con PGPLiteralDataGenerator</li><li>Convertimos el OutputStream a un arreglo de bytes</li><li>Convertimos el arreglo de bytes a String</li><li>Mostramos en pantalla</li></ol><p>Notara que los datos a encriptar, la llave publica y los datos encriptados se manejan como Streams de diversos tipos, esto es por requerimientos de Bouncy Castle</p><p>Ahora veamos el código, para este ejemplo se usan dos clases, App que es la clase principal y EncriptadorDAO que efectúa el grueso del proceso, las lineas estan comentadas para hacer fácil seguir lo que hacen.</p><p><strong>App.java</strong></p> <pre>package mx.hash.encriptado;import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.util.logging.Level;import java.util.logging.Logger;import org.bouncycastle.openpgp.PGPException;public class App { static private final Logger LOGGER = Logger.getLogger("mx.hash.encriptado.App"); public static void main(String[] args) { FileInputStream streamLlavePublica = null; try { File llavePublica = new File("llave.gpg"); streamLlavePublica = new FileInputStream(llavePublica); EncriptadorDAO encriptadorDAO = new EncriptadorDAO(); encriptadorDAO.inicializarBouncyCastle(); String texto = "HOLA-MUNDO"; byte[] datos = texto.getBytes(); ByteArrayInputStream datosStream = new ByteArrayInputStream(datos); Integer longitudDatos = datos.length; ByteArrayOutputStream salidaStream = new ByteArrayOutputStream(); encriptadorDAO.encriptar(salidaStream, datosStream, longitudDatos, streamLlavePublica); byte[] datosEncriptados = salidaStream.toByteArray(); String resultado = new String(datosEncriptados); LOGGER.log(Level.INFO, resultado); streamLlavePublica.close(); } catch (FileNotFoundException ex) { LOGGER.log(Level.SEVERE, "Archivo llave no encontrado"); ex.printStackTrace(); } catch (IOException | PGPException ex) { LOGGER.log(Level.SEVERE, "Error de entrada/salida"); ex.printStackTrace(); } }}</pre> <p><strong>EncriptadorDAO.java</strong></p> <pre>/* * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template */package mx.hash.encriptado;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.security.SecureRandom;import java.security.Security;import java.time.LocalDateTime;import java.time.ZoneOffset;import java.util.Arrays;import java.util.Date;import java.util.Iterator;import java.util.Optional;import java.util.logging.Level;import java.util.logging.Logger;import org.bouncycastle.bcpg.ArmoredOutputStream;import org.bouncycastle.bcpg.CompressionAlgorithmTags;import org.bouncycastle.bcpg.SymmetricKeyAlgorithmTags;import org.bouncycastle.jce.provider.BouncyCastleProvider;import org.bouncycastle.openpgp.PGPCompressedDataGenerator;import org.bouncycastle.openpgp.PGPEncryptedDataGenerator;import org.bouncycastle.openpgp.PGPException;import org.bouncycastle.openpgp.PGPLiteralData;import org.bouncycastle.openpgp.PGPLiteralDataGenerator;import org.bouncycastle.openpgp.PGPPublicKey;import org.bouncycastle.openpgp.PGPPublicKeyRing;import org.bouncycastle.openpgp.PGPPublicKeyRingCollection;import org.bouncycastle.openpgp.PGPUtil;import org.bouncycastle.openpgp.operator.jcajce.JcaKeyFingerprintCalculator;import org.bouncycastle.openpgp.operator.jcajce.JcePGPDataEncryptorBuilder;import org.bouncycastle.openpgp.operator.jcajce.JcePublicKeyKeyEncryptionMethodGenerator;/** * * @author david */public class EncriptadorDAO { static private final Logger LOGGER = Logger.getLogger("mx.hash.encriptado.EncriptadorDAO"); private final int algoritmoCompresion = CompressionAlgorithmTags.ZIP; private final int algoritmoLlaveSimetrica = SymmetricKeyAlgorithmTags.AES_128; private final boolean armadura = true; private final boolean chequeoIntegridad = true; private final int bufferSize = 1 &lt;&lt; 16; public void inicializarBouncyCastle() { LOGGER.log(Level.INFO, "Inicializando Bouncy Castle"); Security.addProvider(new BouncyCastleProvider()); } public void encriptar(OutputStream encriptado, InputStream datosStream, long longitudDatos, InputStream llavePublicaStream) throws IOException, PGPException { LOGGER.log(Level.INFO, "Encriptando datos"); // Compresor de datos PGPCompressedDataGenerator compresor = new PGPCompressedDataGenerator(algoritmoCompresion); // Objeto con las configuraciones para encriptacion JcePGPDataEncryptorBuilder constructorPGP = new JcePGPDataEncryptorBuilder(algoritmoLlaveSimetrica); constructorPGP.setWithIntegrityPacket(chequeoIntegridad); constructorPGP.setSecureRandom(new SecureRandom()); constructorPGP.setProvider(BouncyCastleProvider.PROVIDER_NAME); // Encriptador de datos PGPEncryptedDataGenerator pgpEncryptedDataGenerator = new PGPEncryptedDataGenerator(constructorPGP); // Objeto de la llave publica PGPPublicKey llavePublica = obtenerLlavePublica(llavePublicaStream); // Metodo de encriptado JcePublicKeyKeyEncryptionMethodGenerator metodo = new JcePublicKeyKeyEncryptionMethodGenerator(llavePublica); // Agregamos el metodo de encriptado deseado al encriptador pgpEncryptedDataGenerator.addMethod(metodo); // Si se esta usando la armadura generamos el Stream adecuado if (armadura) { encriptado = new ArmoredOutputStream(encriptado); } // Creamos el Stream con los datos encriptados OutputStream cipherOutStream = pgpEncryptedDataGenerator.open(encriptado, new byte[bufferSize]); // Generamos datos finales apartir del Stream de datos encriptados generarDatos(compresor.open(cipherOutStream), datosStream, longitudDatos, bufferSize); // Cerramos los streams compresor.close(); cipherOutStream.close(); encriptado.close(); } public PGPPublicKey obtenerLlavePublica(InputStream keyInputStream) throws IOException, PGPException { LOGGER.log(Level.INFO, "Obteniendo llave Publica"); PGPPublicKeyRingCollection pgpPublicKeyRings = new PGPPublicKeyRingCollection( PGPUtil.getDecoderStream(keyInputStream), new JcaKeyFingerprintCalculator()); Iterator&lt;PGPPublicKeyRing&gt; keyRingIterator = pgpPublicKeyRings.getKeyRings(); while (keyRingIterator.hasNext()) { PGPPublicKeyRing pgpPublicKeyRing = keyRingIterator.next(); Optional&lt;PGPPublicKey&gt; pgpPublicKey = extraerPGPKey(pgpPublicKeyRing); if (pgpPublicKey.isPresent()) { return pgpPublicKey.get(); } } throw new PGPException("Llave publica invalida"); } public Optional&lt;PGPPublicKey&gt; extraerPGPKey(PGPPublicKeyRing pgpPublicKeyRing) { LOGGER.log(Level.INFO, "Extrayendo llave PGP"); for (PGPPublicKey publicKey : pgpPublicKeyRing) { if (publicKey.isEncryptionKey()) { return Optional.of(publicKey); } } return Optional.empty(); } public void generarDatos(OutputStream copia, InputStream datosOriginales, long longitudDatos, int bufferSize) throws IOException { LOGGER.log(Level.INFO, "Generandos datos finales"); PGPLiteralDataGenerator literalDataGenerator = new PGPLiteralDataGenerator(); OutputStream pOut = literalDataGenerator.open(copia, PGPLiteralData.BINARY, PGPLiteralData.CONSOLE, Date.from(LocalDateTime.now().toInstant(ZoneOffset.UTC)), new byte[bufferSize]); byte[] buffer = new byte[bufferSize]; try { int len; long totalBytesWritten = 0L; while (totalBytesWritten &lt;= longitudDatos &amp;&amp; (len = datosOriginales.read(buffer)) &gt; 0) { pOut.write(buffer, 0, len); totalBytesWritten += len; } pOut.close(); } finally { // Clearing buffer Arrays.fill(buffer, (byte) 0); // Closing inputstream datosOriginales.close(); } }}</pre> <p>Bastante mas código de lo que tal vez esperaba, ¿No? Esto es mas que nada por la necesidad de un par de funciones conversoras de formatos relacionadas con la estructura interna de una llave publica, algo que no ocupamos mover por el momento.</p><p>Si recuerda del proceso listado a principio de esta sección los pasos del 7 al 14 ocurren en la función EncriptadorDAO.encriptar.</p><p>Ya que corra el programa obtendrá una salida similar a esta, la encriptación usa la fecha y hora del sistema como uno de los parámetros así que no le extrañe si cada vez que corra el programa obtiene una salida diferente.</p><a href="https://hashblogeando.wordpress.com/wp-content/uploads/2024/07/captura-desde-2024-07-02-00-59-20.png" rel="nofollow noopener" target="_blank"></a>Salida del programa<p>Donde lo que esta entre —–BEGIN PGP MESSAGE—– y —–END PGP MESSAGE—– es nuestro mensaje encriptado</p> <pre>-----BEGIN PGP MESSAGE-----Version: BCPG v1.70hQEMAwOZTa/i2J0tAQf/YhzovUXVdSxFAeQNkWrBFnVx32wa6P2o+dqrlGSAxXs1XIsFxgbu/9ZXv2OTbHGj3X/TblRbw4+tnAqkrYyjwnzfhC1eqgcel4uT/mqsmNKh5JOstOQENDvHzd8G6yvFEUAXA+UJDOhudME5vxtj6yV8VNWgimqCXBFkU2Yd47KutI1W+2nrtjliYPbZybhBCdi0lN9w9HSCoNZY9CBN8OGSq1G7ukIT89X8r0p0pOzI2RwsLt1/7GZRGgrU7VZNumaxxxFah3ETjlOAOPNyN/O0IO+a7fWsMbTldGv0c1jD43i+uArhWehaFcDMPbDwDb9NkvbKCHSzsCZJayfzqdJHAfDbfiih0Iz2U+w0PEPJlVKymUuIJwYdc2gSr0QOeWwV8vI9LGCmQMzSkj37WtZ9ZdBK0BJxbDyBaAhfRmKmZSnW1R7SwdU==q8RV-----END PGP MESSAGE-----</pre> <p><strong>Verificando salida del programa</strong></p><p>Y seguramente se preguntara, ¿Hay alguna forma de validar que todo saliera bien?, claro que la hay, ya que tenemos la llave privada y la contraseña de la misma podemos ir a cualquier aplicación que descifre PGP / GPG y descifrar el mensaje.</p><p>Para este ejemplo suguiero <a href="https://pgptool.org/" rel="nofollow noopener" target="_blank">https://pgptool.org/</a> en especifico la pestaña Decrypt (+Verify)</p><a href="https://hashblogeando.wordpress.com/wp-content/uploads/2024/07/captura-desde-2024-07-02-00-38-28.png" rel="nofollow noopener" target="_blank"></a>Decrypt (+Verify) de PGP Tool<p>En «Receiver’s Private Key (For decryption purpose)» cargaremos la llave privada del ejemplo (llavePrivada.gpg) , pondremos la contraseña de la llave privada en «Passphrase for private key» y copiaremos TODO el mensaje encriptado (incluso los guiones) al cuadro de texto «Encrypted PGP Message»</p><a href="https://hashblogeando.wordpress.com/wp-content/uploads/2024/07/captura-desde-2024-07-02-01-00-24.png" rel="nofollow noopener" target="_blank"></a>Datos ingresados<p>Ya que tenga todos los datos en si lugar presione «Decrypt the message»</p><a href="https://hashblogeando.wordpress.com/wp-content/uploads/2024/07/captura-desde-2024-07-02-01-00-57.png" rel="nofollow noopener" target="_blank"></a>Mensaje descifrado<p>Y obtendrá el mensaje que encriptamos HOLA-MUNDO.</p><p>Con esto podemos estar seguros que la encriptación se aplico correctamente, ya que una aplicación adicional fue capaz de descifrar el mensaje.</p><p>Notara que aparece un mensaje amarillo que dice «Decrypted, but incorrect fingerprint – signature not verified. If this message encrypted without signature – ignore this message.» esto se debe a que no aplicamos una firma a la encriptación, esto es un proceso adicional que por el momento no requerimos.</p><p>Si desea el código completo de este ejemplo puede encontrarlo aquí:</p><p><a href="https://gitlab.com/ticomWebcomic/encriptadopgp" rel="nofollow noopener" target="_blank">https://gitlab.com/ticomWebcomic/encriptadopgp</a></p><p>Espero que esta entrada le fuera de utilidad, nos vemos en la próxima y si desea cooperar con la causa.</p> <a href="https://ko-fi.com/Q5Q0EMQV" rel="nofollow noopener" target="_blank"></a> <p><a href="https://hashblogeando.wordpress.com/2024/07/02/encriptar-con-una-llave-publica-pgp-gpg-en-java/" class="" rel="nofollow noopener" target="_blank">https://hashblogeando.wordpress.com/2024/07/02/encriptar-con-una-llave-publica-pgp-gpg-en-java/</a></p><p><a rel="nofollow noopener" class="hashtag u-tag u-category" href="https://hashblogeando.wordpress.com/tag/encriptacion/" target="_blank">#encriptacion</a> <a rel="nofollow noopener" class="hashtag u-tag u-category" href="https://hashblogeando.wordpress.com/tag/java/" target="_blank">#java</a></p>
Tecnología con Juancho<p>¡⚠️ Microsoft escucha! Recall de <a href="https://cyberplace.social/tags/Copilot" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Copilot</span></a>+ tendrá <a href="https://cyberplace.social/tags/encriptaci%C3%B3n" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>encriptación</span></a> y será <a href="https://cyberplace.social/tags/optin" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>optin</span></a> tras el <a href="https://cyberplace.social/tags/revuelo" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>revuelo</span></a> 😅 Por <a href="https://cyberplace.social/tags/seguridad" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>seguridad</span></a> y <a href="https://cyberplace.social/tags/privacidad" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>privacidad</span></a> 🔒 ¡Cambios vienen! <a href="https://bit.ly/45jvV4P" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">bit.ly/45jvV4P</span><span class="invisible"></span></a></p>
Blog enfaseterminal.com<p>Cryptomator, crea una carpeta encriptada para aumentar seguridad en los servicios de alojamiento en la nube<br><a href="https://www.enfaseterminal.com/2024/01/cryptomator-crea-una-carpeta-encriptada.html" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://www.</span><span class="ellipsis">enfaseterminal.com/2024/01/cry</span><span class="invisible">ptomator-crea-una-carpeta-encriptada.html</span></a><br><a href="https://mastodon.social/tags/Cryptomator" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Cryptomator</span></a> <a href="https://mastodon.social/tags/seguridad" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>seguridad</span></a> <a href="https://mastodon.social/tags/Privacidad" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Privacidad</span></a> <a href="https://mastodon.social/tags/encriptacion" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>encriptacion</span></a> <a href="https://mastodon.social/tags/nube" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>nube</span></a> <a href="https://mastodon.social/tags/LaNube" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>LaNube</span></a> <a href="https://mastodon.social/tags/blogenfaseterminal" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>blogenfaseterminal</span></a></p>
Jesús Domínguez<p>Nueva entrada en <a href="https://mastodon.social/tags/elProxy" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>elProxy</span></a>!<br><a href="https://proxy.jesusysustics.com/2023/11/2339/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">proxy.jesusysustics.com/2023/1</span><span class="invisible">1/2339/</span></a></p><p><a href="https://mastodon.social/tags/correoelectr%C3%B3nico" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>correoelectrónico</span></a> <a href="https://mastodon.social/tags/encriptaci%C3%B3n" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>encriptación</span></a> <a href="https://mastodon.social/tags/gmail" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>gmail</span></a> <a href="https://mastodon.social/tags/privacidad" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>privacidad</span></a> <a href="https://mastodon.social/tags/seguridad" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>seguridad</span></a></p>
Raul Lara-Cabrera, PhD.<p>Leo con estupor que, según un documento filtrado, España sería uno de los países de la Unión Europea que más presión estaría haciendo para prohibir/invalidar la encriptación extremo a extremo para meter las narices en las comunicaciones de la gente en aras de la seguridad. Esa Unión Europea de los golpes en el pecho por la privacidad de sus ciudadanos… <a href="https://masto.es/tags/Espa%C3%B1a" class="mention hashtag" rel="tag">#<span>España</span></a> <a href="https://masto.es/tags/Uni%C3%B3nEuropea" class="mention hashtag" rel="tag">#<span>UniónEuropea</span></a> <a href="https://masto.es/tags/Encriptaci%C3%B3n" class="mention hashtag" rel="tag">#<span>Encriptación</span></a> <a href="https://masto.es/tags/Privacidad" class="mention hashtag" rel="tag">#<span>Privacidad</span></a> <a href="https://masto.es/tags/Seguridad" class="mention hashtag" rel="tag">#<span>Seguridad</span></a></p>
c3e8<p>Artículo en Wired: Documento filtrado del gobierno muestra que España quiere prohibir la encriptación punto-a-punto (End-to-End Encryption e2ee)</p><p><a href="https://www.wired.com/story/europe-break-encryption-leaked-document-csa-law/" rel="nofollow noopener" target="_blank"><span class="invisible">https://www.</span><span class="ellipsis">wired.com/story/europe-break-e</span><span class="invisible">ncryption-leaked-document-csa-law/</span></a></p><p>Y no sólo España: es un documento de la Unión Europea, y 15 de los 20 estados que aparecen en él piden acabar con la encriptación punto-a-punto (e2ee).</p><p>Sólo 4 estados parecen estar explícitamente contra la prohibición de e2ee: Italia, Estonia, Finlandia y Alemania.</p><p>Hilo🧵 [1/n]<br><a href="https://masto.ai/tags/encriptacion" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>encriptacion</span></a> <a href="https://masto.ai/tags/e2ee" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>e2ee</span></a> <a href="https://masto.ai/tags/EU" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>EU</span></a> <a href="https://masto.ai/tags/privacidad" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>privacidad</span></a> <a href="https://masto.ai/tags/UnionEuropea" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>UnionEuropea</span></a></p>
Daniel ☀:oh_no_bubble:<p>Deberíamos mantener y valorar el cifrado.<br>Deberíamos exigirlo en todas partes.<br>La encriptación de extremo a extremo protege nuestro derecho humano a la privacidad y la seguridad.<br>¡Debemos luchar por él! ✊🔒<br><a href="https://maly.io/tags/RootForE2EE" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>RootForE2EE</span></a> <a href="https://maly.io/tags/E2EE" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>E2EE</span></a> <a href="https://maly.io/tags/Encriptaci%C3%B3n" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Encriptación</span></a> <a href="https://maly.io/tags/Privacidad" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Privacidad</span></a></p>
CompuTekni :verified:<p>Joplin: una aplicación de toma de notas y organización de código abierto y segura</p><p><a href="https://www.computekni.com/2022/12/joplin-una-aplicacion-de-toma-de-notas.html" rel="nofollow noopener" target="_blank"><span class="invisible">https://www.</span><span class="ellipsis">computekni.com/2022/12/joplin-</span><span class="invisible">una-aplicacion-de-toma-de-notas.html</span></a></p><p>Joplin es una aplicación de toma de notas y organización creada en 2016 por el desarrollador independiente Laurent Cozic. La aplicación se originó como una alternativa libre y de código abierto a Evernote, una popular aplicación de apuntes. Desde entonces, Joplin se ha convertido en una opción popular para aquellos que buscan una alternativa de alta calidad y de código abierto.<br>.<br>.<br>.<br><a href="https://tkz.one/tags/Joplin" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Joplin</span></a> <a href="https://tkz.one/tags/TomadeNotas" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>TomadeNotas</span></a> <a href="https://tkz.one/tags/Organizaci%C3%B3n" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Organización</span></a> <a href="https://tkz.one/tags/C%C3%B3digoAbierto" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CódigoAbierto</span></a> <a href="https://tkz.one/tags/Encriptaci%C3%B3n" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Encriptación</span></a> <a href="https://tkz.one/tags/Seguridad" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Seguridad</span></a> <a href="https://tkz.one/tags/Evernote" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Evernote</span></a> <span class="h-card"><a href="https://mastodon.social/@joplinapp" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>joplinapp</span></a></span></p>