Да надо просто взять любую библиотеку кодирования. Для простоты можно хоть XOR использовать. Это всетаки курсач, а не реальная программа.
Далее, после диалога открытия файла тупо спрашиваем пароль и пытаемся перекодировать файл.
Код:
var
F : File Of Char;
AText : String;
N : Integer;
Pass : String;
C : Char;
begin
if OpenDialog1.Execute Then
If PasswordDlg.Execute Then // наша форма запроса пароля
Begin
Pass := PasswordDlg.Password;
N := 1;
AssignFile(F, OpenDialog1.FileName);
Reset(F);
AText := '';
While Not EOF(F) Do
Begin
Read(F,C);
AText := AText + Ord(C) xor Ord(Pass[N]);
Inc(N);
If N > Length(Pass) Then N := 1;
End;
CloseFile(F);
Memo1.Lines.Text := AText;
End;
Это чтение. Если пароль неправильный, то на выходе получится мусор.
А за готовым решением вам в другой раздел.