how come scrypt?
I like the tuning abilities
but not really a big deal
i'm not deep enough into the context, but litecoin miners are a thing
a consideration?
not a problem. It is mostly about just making it harder to crack the files, not impossible
i'm assuming you're figuring out the key derivation cranking
yeah
My target is about 10 cpu seconds on modern systems
do benchmark on a 9900K and on a ryzen 3600
or with anything from the top ~10 https://www.cpubenchmark.net/singleThread.html Benchmarks of the single thread performance of CPUs. This chart comparing CPUs single thread performance is made using thousands of PerformanceTest benchmark results and is updated daily.
my "unit" tests get slower and slower
group them and run in parallel?
or if they have proper setup/teardown isolation on all levels, just modulo-split them across cores
as long as the entire suite takes less than 5 minutes, I'm not going to mess with it
exceeding 5min is also my pain point
bazel does each module separately
10min requires immediate action
currently at 60sec wall time
kk, trivial
@Rotonen please take a look at that. I'm pretty confident everything there is correct. Not using a good salt for the scrypt, but that is a necessary compromise to avoid redo the pbkdf for each file (on both reading and writing)
who is lambdaworks?
and i'm not deep enough into scrypt per implementation as to figure out if that parallelization cost is too little or too much
That is fine
Good question on lambdaworks. They have a java scrypt implementation (obviously) but don't know beyond that.
if you see download stats and that indicates there are enough many eyeballs on them, should be legit
they don't update a lot, which I take as a good sign. A small complete library doesn't need updates.
is that init vector guaranteed sane?
IV doesn't need to be anything in particular. It is best if you don't reuse it, since if you do someone will be able to compare files encrypted with the same key and see how much of the beginning of the file matches
yes, it does not need to be anything in particular, but you're sure there is no such thing as a bad corner of the vector space random could spit up?
i only suspect that as i've never actually looked into scrypt
The IV is only used for the AES part
kk
mixing the return null error handling in there sorta irks me, but that's beside the point
not spotting anything peculiar, but i'd not take that as a higher order guarantee
sure
lambdaworks seems like a relatively legit small scala company
I do like that bazel makes you pin dependencies via hash
so things can't change under you without some action
lambdaworks is from northern serbia
not as good as ukrainian, but I'll take it
i'm more worried about that being so little used than their region of origin
40 downloads recently, you're probably half of that already :stuck_out_tongue:
oh, i've misestimated what usages means
is bitcoinj legit?
bitcoinj is legit
and i'd be amazed if this is not a malware: https://mvnrepository.com/artifact/org.loois/android-sdk :smile:
Mostly Mike Hearn before he got pissed off at the bitcoin comunity
i'm a bit worried about opencms using scrypt :stuck_out_tongue: https://mvnrepository.com/artifact/org.opencms/opencms-core
but if this is also the legit ethereum java thingy, seems legit https://mvnrepository.com/artifact/org.web3j/core
the bitcoinj at least has the things I expect where I expect them
so if they can use that, you can use that
though no idea what they use it for
but on rough general principles
oh, loois is some actual chinese crypto thing http://loois.org/ Loois生态包括:全币种钱包、数字资产交易、去中心化交易协议整合、流动性系统、开放API、跨链金融产品(期货产品、基金产品、借贷产品等)、交易联盟(钱包联盟、订单联盟、合伙人联盟)等。
so that's probably not malware
ha
hum, looks like scrypt is using jni
based on the timeline there, i'd not necessarily assume loois to have gone well, but i have no idea
it might be a no go if it is limiting my platforms at all
did you avoid that madness on the ui?
I haven't plumbed through the encryption into anything yet
just started with the basic functions
no, i mean in general native stuff through JNI where you'd have to figure out the multitude of OS versions out there?
iirc javafx would have had that in store for you, but swing is still fully included in at least java 11 and java 12?
yeah, I avoided javafx for that reason
the only thing that uses JNI is rocksdb for the node
and that's optional, right?
it looks like the scrypt library will gracefully degrade to java if there is no jni
yeah, don't need to run a node
i compile my node on a mac and run it on a windows - iirc there were multiple databases or somesuch
defaults to leveldb?
rocksdb library I am using supports windows (64 bit), linux and mac
there is another db, but I never implemented some things in it, so it can't currently do tx_index or addr_index
oh it's precompiled and not your problem, gotcha
yep
i guess you confused git without using an explicit git rm?
Moving that SystemUtil file to lib so it can be used from client
kk, misread package as import and was full of confusion