sidebarpanel div app r logging encryption-asymmetric sentry

div - sidebarpanel shiny



¿Cómo encripto los datos en R? (3)

¿Te ayuda esto por delante: digerir el paquete ? Tiene varias funciones de hash. Que yo sepa, el cifrado asimétrico es lo mismo que el hashing ...

Estoy agregando un controlador de centinela al paquete de registro de R. actualmente, django-sentry valida el cliente (la aplicación que envía registros de registro) en base a una clave compartida que viaja en texto claro en un canal seguro.

Me preguntaba si era posible realizar un cifrado desde R, preferiblemente asimétrico, basado en clave pública, pero no encuentro nada relevante.

de acuerdo, no "si era posible", sino "cómo hacerlo" y si alguien ya lo hizo.

después de la interacción con el autor de django- hmac , optamos por hmac , que he implementado dentro del paquete R de digest (la versión 0.5+ lo contiene). Esto no responde a la pregunta "cómo cifrar datos usando R", pero resuelve el problema que formó la base para mi pregunta inicial.

En este punto, no estoy trabajando más activamente en la inscripción asimétrica en R, sin embargo, si está interesado en él y desea aportar ideas o códigos, ¡deje una nota aquí!


Este es un tema antiguo, pero en caso de que otros lo descubran, parece que hay un paquete secure de Hadley. El readme dice:

El paquete seguro proporciona una bóveda segura dentro de un repositorio de código disponible públicamente. Le permite almacenar información privada en un repositorio público para que solo personas seleccionadas puedan leerla. Esto es particularmente útil para las pruebas porque ahora puede almacenar credenciales privadas en su repositorio público, sin que el mundo las pueda leer.

Secure está construido sobre cifrado asimétrico (clave pública / privada). Seguro genera una clave maestra aleatoria y la utiliza para cifrar (con AES256) cada archivo en la bóveda /. La clave maestra no se almacena sin cifrar en cualquier lugar; en su lugar, se almacena una copia encriptada para cada usuario, utilizando su propia clave pública. Cada usuario puede descifrar la clave maestra cifrada utilizando su clave privada, y luego usarla para descifrar cada archivo.


También puede encontrar una función adecuada en el paquete PKI del autor Simon Urbanek.

Este paquete proporciona funciones PKI tales como la verificación de certificados, la inscripción RSA y la firma, que se pueden usar para crear infraestructura PKI y realizar tareas criptográficas.

Código de ejemplo del tutorial:

require(PKI) key <- PKI.genRSAkey(2048) x <- charToRaw("Hello, world!") e <- PKI.encrypt(x, key) y <- PKI.decrypt(e, key) stopifnot(identical(x, y)) print(rawToChar(y))

Da como resultado: [1] "Hello, world!"

mientras que el mensaje encriptado e era:

[1] 36 83 d3 70 0a 67 b5 05 a6 40 1e 37 28 b9 4e 28 f1 31 92 14 2c 35 c8 8a 61 93 1e 04 62 01 da 3b 2b a0 75 1c 10 58 26 [40] e4 77 da 7a 47 3f 4e 44 29 8e 97 6f 62 b1 98 44 ba 18 ef 57 1e 9e 9c 27 a8 6e 9c 7b c7 8b c0 c3 a3 00 e2 67 98 8b 6e [79] 1a 93 c6 d6 ed 4b 54 e5 7a 07 d7 06 ef a6 bb 36 6a 7f 57 06 b9 15 03 f6 51 3f 07 48 cb f4 2d 25 15 be 42 de f4 8a 06 [118] 72 89 b1 e3 04 d3 ec 80 99 f0 66 0f 84 e1 b5 af 23 24 a1 36 8e 62 65 ae 19 fb 77 d1 36 06 ae 71 95 ee 57 aa 68 5a 6b [157] 4e 28 ba a2 0d 17 78 11 6c 7f 1b b3 ce 31 65 a9 d3 71 89 76 f9 19 a0 7a bf 02 dd c9 1f cb 9c 39 25 d4 48 a2 23 83 26 [196] b4 a9 b1 40 f5 1d 46 21 35 12 52 73 09 9b f3 52 e1 9e 0d 2a 9b ff 70 81 41 24 49 ed 58 b2 61 dc 3e c9 b3 b2 b1 37 e0 [235] 48 76 18 bf b0 e5 c2 d9 2b 92 2f 6b 49 dd e0 93 b7 10 f8 ba d2 8a