diff --git a/week1/krypto.c b/week1/krypto.c
new file mode 100644
index 0000000..5de78ef
--- /dev/null
+++ b/week1/krypto.c
@@ -0,0 +1,161 @@
+/**
+ * File: krypto2.c
+ * Author: Rainer Liis
+ * Created: 29.01.2018
+ * Last edit: 31.01.2018
+ * 
+ * Descrption: Encryption and decryption of text using caesar cipher.
+ * 				Input from text file and output to a text file.
+ * 				Encryption counts up, decryption counts down.
+ */
+
+#include <stdio.h>
+
+void encrypt ();
+void decrypt ();
+
+int main (void)
+{
+	char valik;
+
+	printf ("Do you wish to encrypt or decrypt?\n");
+
+	// user enters choice
+
+	do
+	{
+		printf ("Please enter a valid option(e/d):");
+		scanf ("%c", &valik);
+	} 
+	while (valik != 'e' && valik != 'd');
+
+	//depending on the choice, a function is started
+
+	if (valik == 'e')
+	{
+		encrypt ();
+	}
+	else if (valik == 'd')
+	{
+		decrypt ();
+	}
+	else
+	{
+		printf ("option does not exist"); // if input is not one of
+	}									  // the choices
+
+	return 0;
+}
+
+void encrypt ()
+{
+	char ni[80] = "sisend.txt", no[80] = "tul.txt";
+	char c;
+	int key;
+	int caesar;
+
+	FILE *fi, *fo;
+	fi = fopen (ni, "r");
+	fo = fopen (no, "w");
+
+	printf ("Enter the encryption key to encrypt: ");
+	scanf ("%d", &key);
+
+	key = key % 26; // in case the key is too large
+
+	do
+	{
+		c = fgetc(fi);
+
+		if (feof(fi)) // loop breaks when fgetc reaches end of file
+		{
+			break;
+		}
+
+		if (c >= 65 && c <= 90) // if char is uppercase
+		{ 
+			if ((c + key) > 90)
+			{
+				caesar = c - (26 - key);
+			}
+			else
+			{
+				caesar = (int)c + key;
+			}
+		}
+		else if (c >= 97 && c <= 122) // if char is lowercase
+		{
+			if ((c + key) > 122)
+			{
+				caesar = c - (26 - key);
+			}
+			else
+			{
+				caesar = (int)c + key;
+			}
+		}
+
+		printf ("%c", caesar);
+		fprintf (fo, "%c", caesar);
+	}
+	while (1);
+
+	printf (" \n");
+}
+
+void decrypt ()
+{
+	char ni[80] = "sisend.txt", no[80] = "tul.txt";
+	char c;
+	int key;
+	int caesar;
+
+	FILE *fi, *fo;
+	fi = fopen (ni, "r");
+	fo = fopen (no, "w");
+
+	printf("Enter the encryption key to decrypt: ");
+	scanf ("%d", &key);
+
+	key = key % 26; // in case the key is too large
+
+	do
+	{
+		c = fgetc(fi);
+
+		if (feof(fi)) // loop breaks when fgetc reaches end of file
+		{
+			break;
+		}
+
+		if (c >= 65 && c <= 90) // if char is uppercase
+		{ 
+			if ((c - key) < 65)
+			{
+				caesar = c + (26 - key);
+			}
+			else
+			{
+				caesar = (int)c - key;
+			}
+		}
+		else if (c >= 97 && c <= 122) // if char is lowercase
+		{
+			if ((c - key) < 97)
+			{
+				caesar = c + (26 - key);
+			}
+			else
+			{
+				caesar = (int)c - key;
+			}
+		}
+
+		printf ("%c", caesar);
+		fprintf (fo, "%c", caesar);
+	}
+	while (1);
+
+	printf (" \n");
+}
+