Digital Workshop

Welcome to the Digital Workshop Message Boards
It is currently December 22nd, 2024, 9:06 pm

All times are UTC [ DST ]




Post new topic Reply to topic  [ 28 posts ]  Go to page 1, 2  Next
Author Message
 Post subject: Steps to using 1crypt -- for a lot of I-O to a Database
PostPosted: January 16th, 2009, 10:29 am 
Offline
Godlike
Godlike

Joined: November 12th, 2005, 1:56 am
Posts: 1474
Location: SFBay Area
Opus: OpusPro v9.0x, & Evol.
OS: Vista32
System: Core 2 duo 2Ghz, RAM 3GB, Nvidia Go 7700 - laptop
There have been a few posts about encrypting stuff.
viewtopic.php?t=2862&highlight=1crypt

Thanks for the 'pointer' to that Mack.

Can I/Opus trigger a .BAT file to do the work of registering the OneCrypt.ocx? I know the windows command itself is simple, but what about Vista UAC getting in the way? (probably could 'Advise' the user to initiate the action the first time he uses the Pub ( a .exe), and say 'yes' to allow when Vista prompts). :?:

My application for 1crypt would be to ship an SQLite DB with Opus. DB contents would be encrypted first for pre-loading the DB. Thereafter would invoke a function call OFTEN at runtime in Opus for UPDATES etc. Is this practical?

My real concern: since an SQL Query returns data Rows into a 'RecordsArray' variable (object?), am I correct that the only way for 1crypt to Encrypt/Decrypt results Arrays is to run through Loop/Loops to process each data value discretely? Should I worry about CPU overhead? I do not need 128bit, ...just enough scrambling to deter.

(I'm finding sqlite does not support passwords nor encryption directly).

_________________
_good things come to those who wait(0)_


For this message Lar_123 has been thanked by : mackavi


Top
 Profile  
 
 Post subject:
PostPosted: January 20th, 2009, 2:50 am 
Offline

Joined: November 11th, 2004, 4:05 am
Posts: 636
Location: Christchurch, NZ
Hi Larry,
If you don't need industrial strength encryption there are some suitable javascripts about that can be converted into Opusscript without too much trouble.
Would make working with sqLite a lot easier.

Paul


For this message Paul has been thanked by : mackavi


Top
 Profile  
 
 Post subject:
PostPosted: January 20th, 2009, 5:08 am 
Offline
Godlike
Godlike

Joined: November 12th, 2005, 1:56 am
Posts: 1474
Location: SFBay Area
Opus: OpusPro v9.0x, & Evol.
OS: Vista32
System: Core 2 duo 2Ghz, RAM 3GB, Nvidia Go 7700 - laptop
Paul,

Quote:
there are some suitable javascripts about that can be converted into Opusscript without too much trouble.there are some suitable javascripts about that can be converted into Opusscript without too much trouble.


Do say. Is it just a matter of syntax?

I bought 1crypt, but am finding it is an ActiveX code and I may not be able to invoke it from Opus. I don't do VisualBasic or any real developing/compiling. So am open to even lightweight kryptificating.

If Atma sftw sends me the DLL for 1crypt, I'll still try that. (thx Mack for the heads-up here).

_________________
_good things come to those who wait(0)_


For this message Lar_123 has been thanked by : mackavi


Top
 Profile  
 
 Post subject:
PostPosted: January 20th, 2009, 9:53 am 
Offline
Godlike
Godlike
User avatar

Joined: March 21st, 2007, 10:44 am
Posts: 3188
Location: UK
Opus: Evolution
Here's an example of ASCII encryption:

function encrypt(str)
{
o = new String
t = new Array()
q = new Array()
l = str.length
rnd =1
for (i = 0; i < l; i++)
{
rnd = Math.round(Math.random() * 12) + 68
t[i] = str.charCodeAt(i) + rnd
q[i] = rnd
}

for (i = 0; i < l; i++)
{
o += String.fromCharCode(t[i], q[i])
}

return o
}


function decrypt(str)
{
o = new String
t = new Array()
q = new Array()
l = str.length

for (i = 0; i < l; i++)
{
t[i] = str.charCodeAt(i)
q[i] = str.charCodeAt(i + 1)
}

for (i = 0; i < l; i = i+2)
{
o += String.fromCharCode(t[i] - q[i])
}
return o
}

The process is simple - but stronger than basic ROT13.

Mack

_________________
When you have explored all avenues of possibilities, what ever remains, how ever improbable, must be the answer.

Interactive Solutions for Business & Education
Learn Anywhere. Learn Anytime.

www.interaktiv.co.uk
+44 (0) 1395 548057


Top
 Profile Visit website  
 
 Post subject:
PostPosted: January 20th, 2009, 11:47 pm 
Offline
Godlike
Godlike

Joined: November 12th, 2005, 1:56 am
Posts: 1474
Location: SFBay Area
Opus: OpusPro v9.0x, & Evol.
OS: Vista32
System: Core 2 duo 2Ghz, RAM 3GB, Nvidia Go 7700 - laptop
The 'Ansi shuffle' sounds interesting, I'll have to play with it to see what it does.

The nice folks at Atma Sftw support replied and provided me the DLL version of 1Crypt. So I'm looking to try that out as well.

Thanks Paul and Mack... thanks for your 'cryptic' responses. :lol:


A specific question: should I not encrypt an integer Key field in a DB Table? (I'm guessing it wouldn't interfere with DB operations, but could someone reverse engineer a key since sequential values are predictable?)


Atma says the DLL product works on "32-bit windows". Are there any issues with DLL's on 64-bit Windows?

_________________
_good things come to those who wait(0)_


For this message Lar_123 has been thanked by : mackavi


Top
 Profile  
 
 Post subject:
PostPosted: January 21st, 2009, 1:53 am 
Offline

Joined: November 11th, 2004, 4:05 am
Posts: 636
Location: Christchurch, NZ
Hi Larry,
I'll be a bit less cryptic :)
I'd try to keep the output alphanumeric so forward slash's, quotes etc don't make Opus give incorrect results when it's working with strings.

Attached is a pub that demonstrates an Opusscript port of AES 128bit encryption.
It encrypts a string, writes it to a text file, then reads it back in and decrypts it.


For this message Paul has been thanked by : lmc, mackavi


Top
 Profile  
 
 Post subject:
PostPosted: January 21st, 2009, 6:37 am 
Offline
Godlike
Godlike

Joined: November 12th, 2005, 1:56 am
Posts: 1474
Location: SFBay Area
Opus: OpusPro v9.0x, & Evol.
OS: Vista32
System: Core 2 duo 2Ghz, RAM 3GB, Nvidia Go 7700 - laptop
Paul wrote:
Quote:
Attached is a pub that demonstrates an Opusscript port of AES 128bit encryption.

I'd try to keep the output alphanumeric so forward slash's and quotes don't make Opus give incorrect results when it's working with strings.


That is more than a "pub". That is a whole Brewery. Great stuff to have in the toolkit. Thx.

As for the "forward slash and quotes", do you mean just do not modify the AES 128bit scripts to produce encrypted strings with /, ", or ' ? (certainly my plain files and data will contain potentially all keyboard chars)

_________________
_good things come to those who wait(0)_


For this message Lar_123 has been thanked by : mackavi


Top
 Profile  
 
 Post subject:
PostPosted: January 21st, 2009, 8:25 am 
Offline

Joined: November 11th, 2004, 4:05 am
Posts: 636
Location: Christchurch, NZ
Hi Larry,
I meant avoid using scripts with non alphanumeric output. This one only outputs alphanumeric characters to the encrypted string. It doesn't matter what you feed it with, as far as I know.
This means you won't have to worry about characters used as delimiters, like /|\ ' " being in the output string.

Paul


For this message Paul has been thanked by : mackavi


Top
 Profile  
 
 Post subject:
PostPosted: January 21st, 2009, 10:08 am 
Offline
Godlike
Godlike
User avatar

Joined: March 21st, 2007, 10:44 am
Posts: 3188
Location: UK
Opus: Evolution
Hi Lar,

Paul's right about certain characters causing problems when saving data in any form and you need to be aware of this which ever method you choose - look up Javascript escape characters to see some of those in use.

Any advanced form of encryption in Opus has one problem, it can be slow. Whilst it's great for short, in frequent bits of data - sustained or larger (in bytes) data can seriously impact on the speed of your publication. I'm glad that you got the 1crypt DLL - we've used it for lots of publications to date and never had a problem with the speed - even when accessing large data sources. However, it's never been used to read / write large blocks of data such as paragraphs from an ebook - so you might want to test this before proceeding.

Also, the Enigma program that Stephen has discussed previously is claiming much more success in protecting Opus publications and their resources such as DLLs.

Hi Paul - thanks for the AES example. It's good to see some serious Opus script pushing the boundaries of what is possible. Did you make it ECMA 1.0 compatible with the extra methods as I've not seen this style of implimentation before?

Mack

_________________
When you have explored all avenues of possibilities, what ever remains, how ever improbable, must be the answer.

Interactive Solutions for Business & Education
Learn Anywhere. Learn Anytime.

www.interaktiv.co.uk
+44 (0) 1395 548057


Top
 Profile Visit website  
 
 Post subject:
PostPosted: January 21st, 2009, 10:55 am 
Offline

Joined: November 11th, 2004, 4:05 am
Posts: 636
Location: Christchurch, NZ
Hi Mack,
these 128bit implementations can be slow in JS and Opusscript, depending on what is required. For simple writing to a text file they work ok.
I've seem some quite quick RSA 12 and 16 bit JS encryption scripts before, and these would probably be fast enough for most situations.
I would use the 1crypt dll if I required frequent DB I/O because speed would probably be important here.

I add extra methods if I'm adapting scripts from the javascript I use in Adobe Director. Director's JS is currently at 1.5, where Opus is about JS 1.1 level.


Paul


For this message Paul has been thanked by : mackavi


Top
 Profile  
 
 Post subject:
PostPosted: January 21st, 2009, 1:26 pm 
Offline
Godlike
Godlike
User avatar

Joined: March 21st, 2007, 10:44 am
Posts: 3188
Location: UK
Opus: Evolution
Cheers Paul,

Yes, I've seen examples of those around as well. I think the really major benefit of your example is that it offers Plexus based publications the opportunity to access strong encryption where 1crypt is not viable.

I've never really had much call to delve deep into to JS (before now anyway), but worked extensively with PL/SQL for several years and there are similarities. Yes, I think Opus is based around the 1.1 standard but as you've done - many of the methods can be added for ease of use or compatibility in modern scripting examples.

I assume that upgrading Opus Script to full 1.5 functionality would be quite a large undertaking - BUT I wonder whether it would be feasible to add have some form of 'include' functionality that could call default scripts from a default location that would allow those of us who rely on a bank of additional functions to have easy access. At the moment, it pretty much a copy and paste job.

Regards,

Mack

_________________
When you have explored all avenues of possibilities, what ever remains, how ever improbable, must be the answer.

Interactive Solutions for Business & Education
Learn Anywhere. Learn Anytime.

www.interaktiv.co.uk
+44 (0) 1395 548057


Top
 Profile Visit website  
 
 Post subject:
PostPosted: January 21st, 2009, 6:24 pm 
Offline
Godlike
Godlike

Joined: November 11th, 2004, 1:18 pm
Posts: 1213
Location: New York
Opus: Opus Pro 9.75
OS: Windows 10 Pro 64 bit
System: Core i7, 16G RAM, Nvidia 640GT (desktop), plus Windows 10 and Android tablets
Hi Larry,

Having done some of the initial searching for improving encryption for pubs, including 1Crypt.dll, I think EnigmaProtector is the best option.

Why not write to Vladimir Sukhov, the EnigmaProtector developer. He's extraordinarily helpful, and EnigmaProtector has many valuable protection features that work with Opus pubs. Plus, Vladimir may be willing to customize needed items.

support@enigmaprotector.com

http://www.EnigmaProtector.com

Kind Regards,

_________________
Stephen


For this message Stephen has been thanked by : mackavi


Top
 Profile  
 
 Post subject:
PostPosted: January 21st, 2009, 7:48 pm 
Offline

Joined: March 4th, 2007, 7:17 pm
Posts: 132
Hi, Stephen,

What do you had in mind saying "EnigmaProtector has many valuable protection features that work with Opus pubs"?
Can Enigma Protector send variables to Opus pub for close some of the possibilities for non-registred users?
I tried many programs (Winlisence, ASProtect, Armadillo, ID Application Protector) to protect pubs and its do not work with Opus pubs.

_________________
Opus Pro 5.5
Win XP


For this message Volgar has been thanked by : mackavi


Top
 Profile  
 
 Post subject:
PostPosted: January 21st, 2009, 8:32 pm 
Offline
Godlike
Godlike

Joined: November 11th, 2004, 1:18 pm
Posts: 1213
Location: New York
Opus: Opus Pro 9.75
OS: Windows 10 Pro 64 bit
System: Core i7, 16G RAM, Nvidia 640GT (desktop), plus Windows 10 and Android tablets
Hi,

EnigmaProtector extends features available in Opus pubs: for example, features to lock a copy to a variety of items on the user's machine: (from the help guide)
Volume Serial Drive - the serial number of system partition of hard drive;
System Volume Name - the name of system partition of hard drive;
Computer Name - the name of the computer (name of current operation system user);
CPU type - the type of cpu;
Motherboard - information from the motherboard BIOS;
Windows Serial Key - serial key of installed Windows.

Evaluation trials can be tailored to a variety of requirements.

Dependent files, like DLL's, image, audio and other resources, can be hidden and protected (again, from the help guide):
Never Write to Disk- attached file will be never written to disk. How it works: Enigma loader hooks file access Windows API and checks if the API call pointeds to embeded file. By using this function you do not need nothing in programming, if you already have application just embed any necessary files and protect it. Moreover, if embeded file is a dll you may call any functions from this library without having it on the disk, Enigma loader will initialize dll in memory and successfully calls necessary function. If you are using this feature you do not need to place attached modules with the protected module. With using of this feature you have a lot of advantages: your external library will not be stolen and use as third party software, you protect attached library from cracking and modifing, attached files will be compressed that allows to decrease package size, you may hide any types of files like MP3, AVI, any images files etc.
Always Write to Disk - attached file will be always overwritten to the disk,
Write if not Present - attached file will be written to the disk if no such file is existed.

The developer, Vladimir, is familiar with Opus and created an Opus tutorial:

http://www.enigmaprotector.com/en/tutor ... rial1.html

He's a brilliant programmer and has solved complex issues for me to get Enigma and Opus working together and built this into continually improved versions of Enigma.

Why not download the demo?

Kind Regards,

_________________
Stephen


For this message Stephen has been thanked by : mackavi


Top
 Profile  
 
 Post subject:
PostPosted: January 21st, 2009, 8:39 pm 
Offline

Joined: March 4th, 2007, 7:17 pm
Posts: 132
This is great!
I did not know about this software. Already download:)

_________________
Opus Pro 5.5
Win XP


For this message Volgar has been thanked by : mackavi


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 28 posts ]  Go to page 1, 2  Next

All times are UTC [ DST ]


Who is online

Users browsing this forum: No registered users and 20 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group