DE102013002184A1 - Computerimplementiertes Verfahren zum Verschlüsseln von Daten - Google Patents

Computerimplementiertes Verfahren zum Verschlüsseln von Daten Download PDF

Info

Publication number
DE102013002184A1
DE102013002184A1 DE201310002184 DE102013002184A DE102013002184A1 DE 102013002184 A1 DE102013002184 A1 DE 102013002184A1 DE 201310002184 DE201310002184 DE 201310002184 DE 102013002184 A DE102013002184 A DE 102013002184A DE 102013002184 A1 DE102013002184 A1 DE 102013002184A1
Authority
DE
Germany
Prior art keywords
data
encrypted
generated
key string
hash function
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE201310002184
Other languages
English (en)
Inventor
Anmelder Gleich
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to DE201310002184 priority Critical patent/DE102013002184A1/de
Publication of DE102013002184A1 publication Critical patent/DE102013002184A1/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

Bei einem computerimplementierten Verfahren zum Verschlüsseln bzw. Entschlüsseln von Daten, bei dem eine Hashfunktion verwendet wird die Hashfunktion auf ein frei wählbares Passwort angewendet. Mit den dabei erzeugten Hashcodes wird ein Schlüsselstring erzeugt, und der so erzeugte Schlüsselstring wird zur Verschlüsselung der zu verschlüsselnden Daten und/oder zur Entschlüsselung der zu verschlüsselnden Daten verwendet.

Description

  • Die Erfindung betrifft ein computerimplementiertes Verfahren zum Verschlüsseln von Daten, bei dem eine Hashfunktion verwendet wird.
  • Der Einsatz von Hashfunktionen zum Verschlüsseln von Daten ist grundsätzlich bekannt. So wird in der Internetenzyklopädie Wikipedia unter http://de.wikipedia.org/wiki/kryptologische_hashfunktion eine kryptologische Hashfunktion beschrieben, die eine Einwegfunktion ist.
  • Verschlüsselungsverfahren sind auch in Patenten, beispielsweise in der DE 10 2007 018 802 B3 und der DE 698 29 967 T2 beschrieben.
  • Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren der eingangs genannten Art zu schaffen, mit dem eine besonders zuverlässige Verschlüsselung von Daten, insbesondere von Passwörtern, möglich ist.
  • Die Lösung dieser Aufgabe erfolgt mit einem Verfahren mit den Merkmalen des Patentanspruchs 1. Bevorzugte Ausgestaltungen der Erfindung sind in den Unteransprüchen angegeben.
  • Bei einem computerimplementierten Verfahren zum Verschlüsseln von Daten mit einem Computer, bei dem eine Hashfunktion verwendet wird, ist erfindungswesentlich vorgesehen, dass die Hashfunktion auf ein frei wählbares Passwort angewandt wird, dass mit den dabei erzeugten Hashcodes ein Schlüsselstring erzeugt wird und dass der so erzeugte Schlüsselstring zur Verschlüsselung der zu verschlüsselnden Daten und/oder zur Entschlüsselung der verschlüsselten Daten verwendet wird. Mit einem solchen Verfahren wird eine besonders hohe Sicherheit erreicht. Das Hashverfahren wird nicht unmittelbar auf das zu verschlüsselnde Wort angewandt, sondern wird nur zur Erzeugung eines Schlüssels oder Schlüsselstrings verwendet, der erst dann zur Verschlüsselung der eigentlich zu verschlüsselnden Daten verwendet wird. Die ist besonders günstig, weil das Passwort so nicht zurückverfolgbar ist und die zu verschlüsselnden Daten erhalten bleiben.
  • In einer bevorzugten Ausgestaltung der Erfindung werden aus dem frei wählbaren Passwort durch Verknüpfung mit einer Saltlist mehrere Strings erzeugt. Eine Saltlist ist aber fest im Verfahren definiert und kann aus einer Matrix von leicht abgewandelten Zeichenfolgen bestehen. Grundsätzlich ist dieses Verfahren bekannt. Weiterhin ist es bevorzugt, dass das frei wählbare Passwort mit einem Pseudozufallssalt verknüpft wird. Die Verknüpfung ist dabei bevorzugt eine Addition. Das Pseudozufallssalt kann dabei durch einen festen String addiert durch die aktuelle Zeit erzeugt werden. Dadurch entsteht bei jeder neuen Chiffrierung ein anderer Wert. Dadurch wird Wiederholungen im Schlüssel bei großen Datenmengen vorgebeugt. Bevorzugt wird das frei wählbare Passwort, das auch als Masterpasswort bezeichnet wird, durch Addition des Pseudozufallssalt und der Saltlist verändert, wodurch eine Anzahl von Strings entsteht, deren Länge durch die Saltlist bestimmt wird und deren Anzahl durch die Länge des Masterpassworts bestimmt wird. Bevorzug wird ein Masterpasswort mit 8 Zeichen gewählt, so dass 8 Strings gebildet werden. Die Saltlist setzt sich bevorzugt aus 128 Strings zu je 8 Zeichen zusammen. Da die Saltlist ein fester Algorithmus ist, ist die Anzahl der Strings theoretisch unendlich. Die Anzahl der Strings ist unabhängig von der Länge des Passwortes.
  • In einer bevorzugten Ausgestaltung der Erfindung wird die Hashfunktion separat auf die erzeugten Strings angewendet. Bevorzugt wird ein Whirlpool-Hash verwendet. Dabei entstehen günstigerweise mehrere Strings mit einer bestimmten Anzahl, in einer bevorzugten Ausführungsform 64 hexadezimalen Zeichen. Besonders bevorzugt werden 8 Strings erzeugt, die jeweils 128 hexadezimale Zeichen enthalten. Dies entspricht 8 512Bit-Strings.
  • In einem nächsten Schritt werden die beim Hashing erzeugten hexadezimalen Zeichen günstigerweise auf Bits reduziert. Dies kann beispielsweise dadurch erfolgen, dass die Zeichen 0, 1, 2, 3, 4, 5, 6 und 7 als ”0” gesetzt werden und dass die Zeichen 8, 9, A, B, C, D, E, F als ”1” gesetzt werden. Es sind natürlich auch andere günstige Zuordnungen möglich.
  • Aus den so erzeugten Strings mit 128 Bits wird dann günstigerweise der Schlüsselstring erzeugt. Dies erfolgt bevorzugt durch Addition von Werten von verschiedenen Strings zu jeweils einem Wert des Schlüsselstrings. Bevorzugt wird dabei aus jedem String ein Bit genommen, wobei der Wert des ersten Schlüsselstrings mit 128 multipliziert wird, der Wert des zweiten Schlüsselstrings mit 64, der Wert des dritten Schlüsselstrings mit 32 und so weiter. Der Wert des achten Schlüsselstrings wird dann mit 1 multipliziert. Es ergibt sich dann ein 128 Zeichen langer Schlüsselstring, in dem jedes Zeichen einen pseudozufälligen 8Bit-Wert hat. Dies entspricht einem Wert von 0–255. In gleicher Weise können auch Schlüsselstrings anderer Länge erzeugt werden.
  • Bei diesem Verfahren kann ein Angreifer nicht auf das Masterpasswort zurückschließen, selbst wenn er diesen Schlüsselstring durch Wissen um die zu verschlüsselnden Daten und die dabei entstehende verschlüsselten Daten bzw. die Chiffre hätte.
  • In einem letzten Schritt bei der Erzeugung der eigentlich chiffrierten Daten, insbesondere eines verschlüsselten Textes, wird bevorzugt der zu verschlüsselnde Text mit einer entsprechenden Anzahl von Zeichen des Schlüsselstrings verknüpft, so dass die Daten, insbesondere der Text verschlüsselt werden. Besonders bevorzugt wird eine Addition vorgenommen. Sollte bei der Addition ein größerer Wert als 255 als Summe auftreten, wird vom Ergebnis 256 subtrahiert. Auf diese Weise kann ein Klartext, oftmals ein Passwort, zuverlässig durch einen sich immer wieder ändernden und nicht rückverfolgbaren Schlüsselstring codiert werden, so dass das Masterpasswort zuverlässig geschützt ist.
  • Bei der Entschlüsselung werden die zu entschlüsselnde Daten, insbesondere ein chiffrierter Text bevorzugt mit einer entsprechenden Anzahl von Zeichen des Schlüsselstrings invers zur Verschlüsselung verknüpft, so dass die Daten entschlüsselt wird. Wenn bei der Verschlüsselung eine Addition verwendet wird, so wird bei der Entschlüsselung bevorzugt eine Subtraktion verwendet. Dabei wird vom chiffrierten Text der zugehörige Wert des Schlüsselstrings subtrahiert. Sollte ein kleinerer Wert als 0 als Differenz auftreten, wird zum Ergebnis 256 addiert.
  • Ein weiterer Aspekt der Erfindung besteht in der Bereitstellung eines Computerprogramms mit Programmcodes zur Durchführung aller Verfahrensschritte nach einem der vorhergehenden Ansprüche, wenn das Computerprogramm in einem Computer ausgeführt wird. Ebenfalls wird die Verwendung von verschlüsselten Daten beansprucht, wenn diese nach dem oben beschriebenen Verfahren erzeugt worden sind.
  • Nachfolgend wird die Erfindung anhand eines in der Zeichnung dargestellten bevorzugten Ausführungsbeispiels weiter erläutert. Im Einzelnen zeigen die Darstellungen in:
  • 1: einen Ablaufplan zur Erzeugung des Schlüsselstrings;
  • 2: die Verschlüsselung eines zu verschlüsselnden Textes mit dem zuvor erzeugten Schlüsselstring; und
  • 3: die Entschlüsselung eines verschlüsselten Textes mit dem zuvor erzeugten Schlüsselstring.
  • In 1 ist die Schlüsselerzeugung dargestellt. Insgesamt wird ein symmetrisches Verschlüsselungsverfahren zur sicheren Block- und Streamverschlüsselung von Daten bereitgestellt. Dabei wird ein individueller Schlüsselstring durch Hashing eines frei wählbaren Passworts erzeugt. Dieses frei wählbare Passwort ist in der 1 mit 1 bezeichnet. Der User gibt dieses im Verschlüsselungsverfahren ein. An der Stelle 4 erfolgt eine Addition des Passworts mit einer Saltlist 3. Diese Saltlist 3 ist fest im Verfahren definiert. In der Figur ist ein Beispiel für eine solche Saltlist angegeben. Diese dient im Wesentlichen zur Erzeugung einer Matrix, auf die das Passwort addiert wird, um so eine Grundlage für ein nachfolgendes Hashverfahren zu schaffen. Um Wiederholungen im Schlüssel bei großen Datenmengen vorzubeugen, wird bei jeder neuen Chiffrierung oder Verschlüsselung ein Pseudozufallssalt 2 addiert. Im dargestellten Ausführungsbeispiel besteht dies aus einer beliebigen Zeichenfolge, zu der jeweils die aktuelle Zeit addiert wird. Durch die Addition der sich stets ändernden aktuellen Zeit entsteht ein pseudozufälliger Wert. Auf diese Weise entstehen mehrere Strings 13. Bevorzugt werden 8 Strings gebildet. Im nächsten Schritt wird eine Hashfunktion 5 auf die 8 Strings angewandt. Dies ist bevorzugt ein Whirlpool-Hash. Das Ergebnis wird auch als Hashcode bezeichnet. Es werden dadurch 8 Strings mit 128 hexadezimalen Zeichen erzeugt. Dies entspricht 8 512Bit-Strings. Im Schritt 6 werden die hexadezimalen Zeichen auf Bits reduziert. Im dargestellten Ausführungsbeispiel werden die Zeichen 0, 1, 2, 3, 4, 5, 6 und 7 auf 0 gesetzt und die Zeichen 8, 9, A, B, C, D, E, F werden auf 1 gesetzt. Die Schlüsselerzeugung erfolgt im Schritt 7. Im dargestellten Ausführungsbeispiel erfolgt eine Addition der 8 × 128 Bits der Strings S1 bis S8. Dabei wird jeweils der erste der 128 Bits der Strings S1 bis S8 addiert, wobei der erste Wert mit 128, der zweite Wert mit 64, der dritte Wert mit 32, der vierte Wert mit 16, der fünfte Wert mit 8, der sechste Wert mit 4, der siebte Wert mit 2, und der achte Wert mit 1 multipliziert wird, so dass sich ein erster Wert des Schlüsselstrings KEY ergibt, der einen 8Bit-Wert hat, also Zeichen von 0–255 repräsentiert. Dies erfolgt für jeden der 128 Bits der Strings S1 bis S8, so dass sich ein 128 Zeichen langer Schlüsselstring KEY ergibt. Im folgenden Kasten ist der Schlüsselstring 8 dargestellt.
  • In 2 ist die Verschlüsselung dargestellt. Die zu verschlüsselnden Daten sind hier ein Text, oftmals ein Passwort. Dazu wird der zuvor erzeugte Schlüsselstring 8 mit dem zu verschlüsselnden Text 9 in einem Schritt 10 addiert. Der zu verschlüsselnde Text 9 wird dabei typischerweise ebenfalls als 8Bit-Wert dargestellt und mit den 8Bit-Werten des Schlüsselstrings 8 addiert. Der Klartext muss (in diesem beispiel) je Zeichen einen 8 Bit-Wert haben (z. B. ASCII) Bei der erfolgten Addition 10 wird, falls der Wert der Summe größer als 255 ist, vom Ergebnis 256 subtrahiert, so dass sich ein Ergebnis zwischen 0 und 255 einstellt. Auf diese Weise wird ein verschlüsselter Text 11 erzeugt, der auch als Chiffre bezeichnet wird. Vom erzeugten Schlüsselstring 8 werden nur so viele Zeichen verwendet, wie der zu verschlüsselnde Text 9 Zeichen hat.
  • In 3 ist die Entschlüsselung dargestellt. Dabei wird umgekehrt zu dem in 2 dargestellten Verschlüsselungsschritt vom verschlüsselten Text 11 der Schlüsselstring 8 bzw. die Werte der einzelnen Zeichen des Schlüsselstrings 8 subtrahiert. Dabei wird das Salt (Pseudozufallssalt) zusammen mit dem verschlüsselten Text gespeichert. Ansonsten wäre eine Entschlüsselung nicht möglich. Beim zweiten Mal der Erzeugung des Schlüsselstrings (Entschlüsselung) wird der abgespeicherte Wert für Block 2 genommen. Dies erfolgt in einem Subtraktionsschritt 12. Sollte dabei ein kleinerer Wert als 0 als Differenz auftreten, wird zum Ergebnis 256 addiert. So ist sichergestellt, dass das Ergebnis Werte zwischen 0 und 255 hat. Es ergibt sich dabei der zu verschlüsselnde Text 9 als Ergebnis.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • DE 102007018802 B3 [0003]
    • DE 69829967 T2 [0003]
  • Zitierte Nicht-Patentliteratur
    • http://de.wikipedia.org/wiki/kryptologische_hashfunktion [0002]

Claims (12)

  1. Computerimplementiertes Verfahren zum Verschlüsseln bzw. Entschlüsseln von Daten (9), bei dem eine Hashfunktion (5) verwendet wird, dadurch gekennzeichnet, dass die Hashfunktion (5) auf ein frei wählbares Passwort (1) angewendet wird, dass mit den dabei erzeugten Hashcodes ein Schlüsselstring (8) erzeugt wird, und dass der so erzeugte Schlüsselstring (8) zur Verschlüsselung der zu verschlüsselnden Daten (9) und/oder zur Entschlüsselung der zu verschlüsselnden Daten (9) verwendet wird.
  2. Verfahren nach Anspruch 1, dass aus dem frei wählbaren Passwort (1) durch Verknüpfung mit einer Saltlist (3) mehrere Strings (13) erzeugt werden.
  3. Verfahren nach einem der Ansprüche 1 oder 2, dadurch gekennzeichnet, dass das frei wählbare Passwort (1) mit einem Pseudozufallssalt (2) verknüpft wird.
  4. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass die Hashfunktion (5) separat auf die erzeugten Strings (13) angewendet wird.
  5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass die Hashfunktion (5) mehrere Strings mit mindestens 64 hexadezimalen Zeichen erzeugt.
  6. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass bei der Hashfunktion (5) erzeugte hexadezimale Zeichen auf Bits reduziert werden.
  7. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass durch Addition von Werten von verschiedenen mit der Hashfunktion (5) erzeugten Strings jeweils ein Wert des Schlüsselstrings (8) erzeugt wird.
  8. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass durch Addition je eines auf Bits reduzierten hexadezimalen Zeichens aus jedem der Strings jeweils ein Zeichen eines Schlüsselstrings (8) erzeugt wird, dessen Länge der Länge der Strings entspricht.
  9. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die zu verschlüsselnden Daten (9) mit einer entsprechenden Anzahl von Zeichen des Schlüsselstrings (8) verknüpft wird, so dass die Daten (9) verschlüsselt werden.
  10. Verfahren nach einem der Ansprüche 1 bis 8, dadurch gekennzeichnet, dass die zu entschlüsselnde Daten (11) mit einer entsprechenden Anzahl von Zeichen des Schlüsselstrings 8 invers zur Verschlüsselung verknüpft wird, so dass die Daten (11) entschlüsselt werden.
  11. Computerprogramm mit Programmcode zur Durchführung aller Verfahrensschritte nach einem der vorhergehenden Ansprüche, wenn das Computerprogramm an einem Computer ausgeführt wird.
  12. Verwendung von verschlüsselten Daten, die mit einem Verfahren nach einem der Ansprüche 1 bis 10 verschlüsselt wurden.
DE201310002184 2013-02-06 2013-02-06 Computerimplementiertes Verfahren zum Verschlüsseln von Daten Withdrawn DE102013002184A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE201310002184 DE102013002184A1 (de) 2013-02-06 2013-02-06 Computerimplementiertes Verfahren zum Verschlüsseln von Daten

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE201310002184 DE102013002184A1 (de) 2013-02-06 2013-02-06 Computerimplementiertes Verfahren zum Verschlüsseln von Daten

Publications (1)

Publication Number Publication Date
DE102013002184A1 true DE102013002184A1 (de) 2014-08-07

Family

ID=51205900

Family Applications (1)

Application Number Title Priority Date Filing Date
DE201310002184 Withdrawn DE102013002184A1 (de) 2013-02-06 2013-02-06 Computerimplementiertes Verfahren zum Verschlüsseln von Daten

Country Status (1)

Country Link
DE (1) DE102013002184A1 (de)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69829967T2 (de) 1997-07-18 2006-04-27 Apple Computer, Inc., Cupertino Verfahren und vorrichtung zur schnellen elliptischen verschlüsselung mit unmittelbarer einbettung
DE102007018802B3 (de) 2007-04-20 2008-08-28 Universität Tübingen Abhör- und manipulationssichere Verschlüsselung für Online-Accounts

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69829967T2 (de) 1997-07-18 2006-04-27 Apple Computer, Inc., Cupertino Verfahren und vorrichtung zur schnellen elliptischen verschlüsselung mit unmittelbarer einbettung
DE102007018802B3 (de) 2007-04-20 2008-08-28 Universität Tübingen Abhör- und manipulationssichere Verschlüsselung für Online-Accounts

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
http://de.wikipedia.org/wiki/kryptologische_hashfunktion

Similar Documents

Publication Publication Date Title
DE102011088502B3 (de) Verfahren und Vorrichtung zur Absicherung von Blockchiffren gegen Template-Attacken
EP2433241B1 (de) Verschlüsselungsverfahren
EP3218893B1 (de) Gehärtete white box implementierung
DE69929251T2 (de) Verschlüsselungssystem mit einem schlüssel veränderlicher länge
DE60315700T2 (de) Verfahren zum erzeugen einer stromverschlüsselung mit mehreren schlüsseln
DE69911815T2 (de) Selbstkorrigierendes zufallsverschlüsselungssystem und -verfahren
DE602004007904T2 (de) Verschlüsselungsverfahren und -system
DE102013213354A1 (de) Zufallsbitstromgenerator mit garantierter mindestperiode
DE602004003675T2 (de) Sicherheitsgegenmassnahmen gegen Angriffe durch Stromverbrauchsanalysen
DE102015015953B3 (de) Kryptoalgorithmus mit schlüsselabhängigem maskiertem Rechenschritt (SBOX-Aufruf)
DE102011012328A1 (de) Verschlüsseltes Rechnen
DE202023104060U1 (de) Eine mehrstufige randomisierte SALT-Technik für Vertraulichkeit in IoT-Geräten
EP3607446B1 (de) Verfahren zur erstellung und verteilung von kryptographischen schlüsseln
DE102013002184A1 (de) Computerimplementiertes Verfahren zum Verschlüsseln von Daten
EP3747151B1 (de) Verfahren zur generierung metadaten-freier bäume
EP3369205A1 (de) Alternative darstellung des krypto-algorithmus des
DE102004006570B4 (de) Einmalschlüsselgenerierungsverfahren auf fraktaler Berechnungsbasis für Blockverschlüsselungsalgorithmen
EP2288073B1 (de) Vorrichtung zur Verschlüsselung von Daten
DE102006009725A1 (de) Verfahren und Vorrichtung zum Authentifizieren eines öffentlichen Schlüssels
DE102018208851A1 (de) Vorrichtung und Verfahren zum Umwandeln von Eingangsbitfolgen
DE112005001837B4 (de) Verfahren zum Schutz von Schlüsseln
WO2004056035A1 (de) Verschlüsselungsverfahren
DE10158003B4 (de) Verfahren zur Erzeugung von Schlüsseln für die Datenverschlüsselung sowie Verfahren zur Datenverschlüsselung
WO1997032417A1 (de) Verfahren zum generieren eines prüfworts für eine bitfolge zur überprüfung der integrität und authentizität der bitfolge
DE102019216203A1 (de) Auf Blockverschlüsselung basierender Proof-of-Work

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee