diff --git a/README.md b/README.md
index 5b06c95..8a7c9b7 100644
--- a/README.md
+++ b/README.md
@@ -1 +1,7 @@
-# criptoKotlin
\ No newline at end of file
+[](https://classroom.github.com/a/2QuvjImd)
+[](https://classroom.github.com/online_ide?assignment_repo_id=18756652&assignment_repo_type=AssignmentRepo)
+# criptoKotlin
+
+El código corresponde al cifrado railfence.
+
+Dentro de la carpeta railfence-Maria-Fer-UD/src se encuentra el main en donde se encuentra el código y los archivos de entrada(con el texto) y el archivo en donde se almacena el resultado del cifrado o descifrado.
diff --git a/railfence-Maria-Fer-UD/.gitignore b/railfence-Maria-Fer-UD/.gitignore
new file mode 100644
index 0000000..9f97022
--- /dev/null
+++ b/railfence-Maria-Fer-UD/.gitignore
@@ -0,0 +1 @@
+target/
\ No newline at end of file
diff --git a/railfence-Maria-Fer-UD/.idea/.gitignore b/railfence-Maria-Fer-UD/.idea/.gitignore
new file mode 100644
index 0000000..13566b8
--- /dev/null
+++ b/railfence-Maria-Fer-UD/.idea/.gitignore
@@ -0,0 +1,8 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Editor-based HTTP Client requests
+/httpRequests/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
diff --git a/railfence-Maria-Fer-UD/.idea/compiler.xml b/railfence-Maria-Fer-UD/.idea/compiler.xml
new file mode 100644
index 0000000..e2bbfc1
--- /dev/null
+++ b/railfence-Maria-Fer-UD/.idea/compiler.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/railfence-Maria-Fer-UD/.idea/encodings.xml b/railfence-Maria-Fer-UD/.idea/encodings.xml
new file mode 100644
index 0000000..942f3a2
--- /dev/null
+++ b/railfence-Maria-Fer-UD/.idea/encodings.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/railfence-Maria-Fer-UD/.idea/jarRepositories.xml b/railfence-Maria-Fer-UD/.idea/jarRepositories.xml
new file mode 100644
index 0000000..4d27ef0
--- /dev/null
+++ b/railfence-Maria-Fer-UD/.idea/jarRepositories.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/railfence-Maria-Fer-UD/.idea/kotlinc.xml b/railfence-Maria-Fer-UD/.idea/kotlinc.xml
new file mode 100644
index 0000000..c22b6fa
--- /dev/null
+++ b/railfence-Maria-Fer-UD/.idea/kotlinc.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/railfence-Maria-Fer-UD/.idea/misc.xml b/railfence-Maria-Fer-UD/.idea/misc.xml
new file mode 100644
index 0000000..001e756
--- /dev/null
+++ b/railfence-Maria-Fer-UD/.idea/misc.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/railfence-Maria-Fer-UD/.idea/vcs.xml b/railfence-Maria-Fer-UD/.idea/vcs.xml
new file mode 100644
index 0000000..6c0b863
--- /dev/null
+++ b/railfence-Maria-Fer-UD/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/railfence-Maria-Fer-UD/pom.xml b/railfence-Maria-Fer-UD/pom.xml
new file mode 100644
index 0000000..316f6a7
--- /dev/null
+++ b/railfence-Maria-Fer-UD/pom.xml
@@ -0,0 +1,88 @@
+
+
+ 4.0.0
+
+ org.example
+ railfence-Maria-Fer-UD
+ 1.0-SNAPSHOT
+
+
+ UTF-8
+ official
+ 1.8
+
+
+
+
+ mavenCentral
+ https://repo1.maven.org/maven2/
+
+
+
+
+ src/main/kotlin
+ src/test/kotlin
+
+
+ org.jetbrains.kotlin
+ kotlin-maven-plugin
+ 2.1.10
+
+
+ compile
+ compile
+
+ compile
+
+
+
+ test-compile
+ test-compile
+
+ test-compile
+
+
+
+
+
+ maven-surefire-plugin
+ 2.22.2
+
+
+ maven-failsafe-plugin
+ 2.22.2
+
+
+ org.codehaus.mojo
+ exec-maven-plugin
+ 1.6.0
+
+ MainKt
+
+
+
+
+
+
+
+ org.jetbrains.kotlin
+ kotlin-test-junit5
+ 2.1.10
+ test
+
+
+ org.junit.jupiter
+ junit-jupiter
+ 5.10.0
+ test
+
+
+ org.jetbrains.kotlin
+ kotlin-stdlib
+ 2.1.10
+
+
+
+
\ No newline at end of file
diff --git a/railfence-Maria-Fer-UD/src/cifrado.txt b/railfence-Maria-Fer-UD/src/cifrado.txt
new file mode 100644
index 0000000..4b7009c
--- /dev/null
+++ b/railfence-Maria-Fer-UD/src/cifrado.txt
@@ -0,0 +1 @@
+Lo que importa verdaderamente en la vida no son los objetivos que nos marcamos, sino los caminos que seguimos para lograrlo (Peter Bamm)
\ No newline at end of file
diff --git a/railfence-Maria-Fer-UD/src/descifrado.txt b/railfence-Maria-Fer-UD/src/descifrado.txt
new file mode 100644
index 0000000..b86f780
--- /dev/null
+++ b/railfence-Maria-Fer-UD/src/descifrado.txt
@@ -0,0 +1 @@
+Lumtedme v slotsesros i usror(eaoqeipravraeaet nl ian o o beio u o acms iolscmnsqesgio aalgal PtrBm) o drneadonsjvqnma,noaouemp roe m
\ No newline at end of file
diff --git a/railfence-Maria-Fer-UD/src/main/kotlin/Main.kt b/railfence-Maria-Fer-UD/src/main/kotlin/Main.kt
new file mode 100644
index 0000000..f8abdd6
--- /dev/null
+++ b/railfence-Maria-Fer-UD/src/main/kotlin/Main.kt
@@ -0,0 +1,103 @@
+//Estudiante: Maria Fernanda Uch Dzib
+//Matrícula: 200300643
+
+import java.io.File
+import javax.swing.JOptionPane
+import javax.swing.JScrollPane
+import javax.swing.JTextArea
+
+
+//Agregar la funcionalidad de lectura de archivos de texto
+//La función lee un archivo de entrada
+fun leer_archivo_texto(lectura_archivo:String):String {
+ var archivo = File(lectura_archivo)
+ var texto = archivo.readText()
+ return texto
+}
+
+fun railfence_cifrar(texto:String, rail:Int): String
+{
+ var resul:String = ""
+ var repeticion = 2 * (rail -1) //Cada vez que inicia el patron en zigzag, cada 4
+ for (r in 0..rail-1){
+ for (t in texto.indices){
+ if (t % repeticion == r || t % repeticion == repeticion-r){ //
+ resul+=texto[t]
+ }
+ }
+ }
+ return resul
+}
+
+fun railfence_descifrar(texto:String, rail:Int): String {
+ var resul = Array (texto.length){""} //Array vacio
+ var repeticion = 2 * (rail -1)
+ var aux_i = 0
+ for (r in 0..rail-1){
+ for (t in texto.indices){
+ if (t % repeticion == r || t % repeticion == repeticion-r){
+
+ resul[t] = texto[aux_i++].toString() //La posición se agrega en orden
+ }
+ }
+ }
+ return (resul).reduce{a,b -> a+b} //Convertir el arreglo en string
+}
+
+fun main(){
+ var option = 0
+ var resul:String = ""
+ var texto = ""
+ var accion = ""
+ var path_resultado = File("src/resultado.txt")
+ do {
+ option = Integer.parseInt(JOptionPane.showInputDialog("Cifrado Railfence\n---Menú---\n1. Cifrar\n2. Descifrar\n3. Salir"))
+
+ if (option != 1 && option != 2) {
+ break
+ }
+ //var path = JOptionPane.showInputDialog(null, "Introduce el path del archivo de entrada:")
+ //var texto = leer_archivo_texto(path)
+
+ var rails = 3 //Se utilizan 3 rieles
+ JOptionPane.showMessageDialog(null,"Número de Rails = $rails")
+ when (option){
+ 1 -> {
+ accion = "cifrado"
+ var path_cifrar = "src/cifrado.txt"
+
+ texto = leer_archivo_texto(path_cifrar)
+ resul = railfence_cifrar(texto, rails)
+ path_resultado.writeText(resul)
+
+ JOptionPane.showMessageDialog(null, "El texto de entrada es: \n$texto")
+ JOptionPane.showMessageDialog(null, "Resultado guardado en el archivo ${path_resultado}")
+
+ }
+ 2 -> {
+ accion = "descifrado"
+ var path_descifrar = "src/descifrado.txt"
+
+ texto = leer_archivo_texto(path_descifrar)
+ resul = railfence_descifrar(texto, rails)
+ path_resultado.writeText(resul)
+
+ JOptionPane.showMessageDialog(null, "El texto de entrada es: \n$texto")
+ JOptionPane.showMessageDialog(null, "Resultado guardado en el archivo ${path_resultado}")
+ }
+ }
+ //Para la visualización del texto cifrado o descifrado
+ val area_resultado = JTextArea("$resul")
+ area_resultado.lineWrap = true
+ area_resultado.wrapStyleWord = true
+ area_resultado.isEditable = false
+
+ val scrollPane = JScrollPane(area_resultado)
+ scrollPane.preferredSize = java.awt.Dimension(300, 150)
+
+ //println("\nEl texto $accion del archivo es: \n$resul") //Imprimir en consola
+ JOptionPane.showMessageDialog(null, scrollPane, "El texto $accion del archivo es:",
+ JOptionPane.INFORMATION_MESSAGE)
+
+ }while (true)
+}
diff --git a/railfence-Maria-Fer-UD/src/resultado.txt b/railfence-Maria-Fer-UD/src/resultado.txt
new file mode 100644
index 0000000..4b7009c
--- /dev/null
+++ b/railfence-Maria-Fer-UD/src/resultado.txt
@@ -0,0 +1 @@
+Lo que importa verdaderamente en la vida no son los objetivos que nos marcamos, sino los caminos que seguimos para lograrlo (Peter Bamm)
\ No newline at end of file
diff --git a/railfence-Maria-Fer-UD/target/classes/META-INF/railfence-Maria-Fer-UD.kotlin_module b/railfence-Maria-Fer-UD/target/classes/META-INF/railfence-Maria-Fer-UD.kotlin_module
new file mode 100644
index 0000000..a477ea3
Binary files /dev/null and b/railfence-Maria-Fer-UD/target/classes/META-INF/railfence-Maria-Fer-UD.kotlin_module differ