Um lokal zu verschlüsseln und zu entschlüsseln, müssen Sie den Schlüssel in Ihrem Programm speichern, damit die Benutzer die Verschlüsselung knacken können, wenn sie Ihren Code zerlegen. Es gibt Tricks, um Schlüssel zu verschleiern, aber selbst bei diesen findet ein Angreifer den Schlüssel und stellt ihn dann online für alle, die weniger interessiert sind, zur Verfügung. Das einzige, was die Verschlüsselung verhindert, sind Leute, die einen Hex-Editor verwenden - Sie können dies leicht durch Komprimierung verhindern und alles, was die Datei für ein Entpackungsprogramm unlesbar macht. Fügen Sie beispielsweise ein Byte vor den Daten ein.
Alternativ können Sie den MD5-Code der Sicherungsdatei an das Ende der Datei anhängen, damit Sie feststellen können, ob eine Datei manipuliert wurde. Sie können dies dann verwenden, um entweder das Laden des Spielstands zu verweigern oder um Support-Tickets entsprechend zu kennzeichnen, damit Sie keine Zeit mit Problemen verschwenden, die durch manuell geänderte Spielstände verursacht werden. Auch dies ist für jeden, der Ihren Code lesen kann, trivial zu umgehen.
Wenn Sie etwas wollen, das nicht von jemandem umgangen werden kann, der Zugriff auf die Binärdateien auf seinem Gerät hat, müssen Sie einen Teil des Programms auf einem Server ausführen, der sich unter Ihrer Kontrolle befindet.
Um Ihre letzte Frage zu beantworten, gibt ein Schlüssel plus Verschlüsselungstyp nur den genauen Algorithmus an, der zum Ver- / Entschlüsseln angewendet werden muss. Sie können keine Daten ohne einen Algorithmus verschlüsseln / entschlüsseln, der die Vorgehensweise definiert.